如何设置标志增加 1、php和js使用ajax上传文件成功后


How to set flag increase 1, after php and js use ajax upload file success?

尝试制作:用户上传文件后,如果成功显示img(传递$filetype_accept语句),
.upload_img中添加 attr id=1,每次上传文件 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);
        }
    });
});
您需要

将数据发送到服务器fd.append('layer', $('.upload_img').attr('id'));然后在服务器$layer = (int)$_POST['layer'];上处理它。