作成してみてください:ユーザーがファイルをアップロードした後、成功した場合はimg($filetype_accept
ステートメントを渡す)を表示し、
attrid=1
を追加して.upload_img
、アップロードするたびにファイルIDを1増やしますid=2, id=3..
。
ページを更新する場合のみ、コンテナをクリアして再カウントします。
$layer
imgのアップロードが成功した回数をカウントするフラグを設定しましたが、2番目の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);
}
});
});