이 글은 새로 고침 없이 이미지를 업로드할 수 있는 PHP와 Ajax의 예제 코드를 공유합니다. 모두가 편집자와 함께 배우고 발전할 수 있기를 바랍니다.
1. 파일 가져오기
<!--图片上传begin--> <script type="text/javascript" src="/js/jquery.form.js"></script> <script type="text/javascript" src="/js/uploadImg.js"></script> <link href="/css/uploadImg.css" rel="stylesheet" type="text/css" /> <!--图片上传end-->
2.html부분
<div class="upimg"> <input name="icon" type="text" class="imgsrc" value="<!--{$contents.icon}-->" /> <div class="showimg"> <!--{if $contents.icon}--> <img src="<!--{$contents.icon}-->" height="120px"> <!--{/if}--> </div> <div class="btn" style="height:20px;"> <span>添加图片</span> <input class="fileupload" type="file" name="pic[]"> </div> </div>
3. 파일 업로드에 양식 추가
/*图片上传*/ $(".fileupload").wrap("<form action='/bookstore/book/uploadpic' method='post' enctype='multipart/form-data'></form>"); //函数处理
4.ajax 파일 업로드
jQuery(function ($) { $(".fileupload").change(function(){ //选择文件 if ('' === $(this).val()) return; var upimg = $(this).parent().parent().parent(); var showimg = upimg.find('.showimg'); var btn = upimg.find('.btn span'); var imgsrc = upimg.find('.imgsrc'); $(this).parent().ajaxSubmit({ //dataType: 'json', //数据格式为json beforeSend: function() { //开始上传 showimg.empty(); //清空显示的图片 imgsrc.val(""); btn.html("上传中..."); //上传按钮显示上传中 }, uploadProgress: function(event, position, total, percentComplete) { }, success: function(data) { //成功 //获得后台返回的json数据,显示文件名,大小,以及删除按钮 var img = data; //显示上传后的图片 imgsrc.val(""); imgsrc.val(img); showimg.html("<img width='120' height='120' src='"+img+"'>"); btn.html("上传成功"); //上传按钮还原 }, error:function(xhr){ //上传失败 btn.html("上传失败"); } }); }); });
5. 백그라운드에서 처리
public function uploadpicAction(){ //图片上传和显示 $data = ""; $src = $this->uploadFiles2($imgpath = "/upload/book" ,$filesname = "pic"); isset($src[0]['src']) && $src[0]['src'] ? $data = $this->concaturl($src[0]['src']) : null; echo $data; }
6. 일부 처리를 위해 반환된 데이터를 프런트 엔드에 전달합니다.
그런 다음 백엔드 데이터베이스에 제출합니다.
이 기사가 PHP 프로그래밍을 배우는 모든 사람에게 도움이 되기를 바랍니다.