尝试使:用户上传文件成功后显示img(通过$filetype_accept
语句),
添加attr id=1
,.upload_img
每次上传文件id增加1 id=2, id=3..
。
只有刷新页面,然后清除容器并重新计数。
我设置了标志$layer
来计算有多少 img 上传成功,但是在上传第二个 img 之后 attr 仍然id=1
。
下面是我的代码,有什么建议可以让它工作吗?
谢谢。
php
$filename = $_FILES['file_upload_tmp']['name'];
$filetmp_name = $_FILES['file_upload_tmp']['tmp_name'];
$filetype = $_FILES['file_upload_tmp']['tmp_name'];
$filetype_accept = $filetype == 'image/jpg';
$layer = 0;
if($_FILES){
if($filetype_accept){
move_uploaded_file($filetmp_name, 'upload/tmp/'.$filename);
$layer = $layer + 1;
print"
<div class=\"img_wp\">
<div class=\"upload_img\" id=\"$layer\">
<img src=\"upload/tmp/$filename\">
</div>
</div>
";
return $layer;
}
else{
print"upload file error, plz upload file type: $filetype";
}
}
else{
print"
<div class=\"upload\">
<form enctype=\"multipart/form_data\">
<input type=\"file\" name=\"file_upload_tmp\">
<input type=\"submit\" value=\"upload\" class=\"btn\">
</form>
</div>
<div class=\"container\"></div>
";
}
js
$('.btn').click(function(e){
e.preventDefault();
var uf = $('.upload form');
var fd = new FormData(uf[0]);
$.ajax({
type: "POST",
url: "upload.php",
data: fd,
processData: false,
contentType: false,
success: function(html){
var img = $(html).filter('.img_wp').html();
$('.container').append(img);
}
});
});