php+ajax无刷新上传图片实例代码

本文分享了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加上表单

/*图片上传*/

$(".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程序设计有所帮助。

以上是 php+ajax无刷新上传图片实例代码 的全部内容, 来源链接: utcz.com/z/325679.html

回到顶部