本文分享了php结合ajax实现无刷新上传图片的实例代码,分享给大家,希望大家可以和小编一起学习学习,共同进步。
1.引入文件
1
2
3
4
5
|
<!--图片上传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部分
1
2
3
4
5
6
7
8
9
10
11
12
|
< 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加上表单
1
2
|
/*图片上传*/
$( ".fileupload" ).wrap( "<form action='/bookstore/book/uploadpic' method='post' enctype='multipart/form-data'></form>" ); //函数处理
|
4.ajax文件上传
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
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.后台进行处理
1
2
3
4
5
6
|
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程序设计有所帮助。