Javascript 只有一个文件通过ajax在php上传脚本中上传

Javascript 只有一个文件通过ajax在php上传脚本中上传,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我真的需要帮助,因为这一整天都在给我带来麻烦。我只需要上传4个输入字段的图像。但是,只有来自最后一个输入字段的图像才能获得上载代码(上载图像的函数): jquery ajax代码: formdata.append('img1', img1); formdata.append('img2', img2); formdata.append('img3', img3); formdata.append('img4', img4); $.

我真的需要帮助,因为这一整天都在给我带来麻烦。我只需要上传4个输入字段的图像。但是,只有来自最后一个输入字段的图像才能获得上载代码(上载图像的函数):

jquery ajax代码:

        formdata.append('img1', img1);
        formdata.append('img2', img2);
        formdata.append('img3', img3);
        formdata.append('img4', img4);

$.ajax({
            url     : 'core/upload.php',
            type    : 'POST',
            data    : formdata,
            contentType : false,
            processData : false,
            success : function (ep){
                alert(ep);

                //$('#say').html(ep);
            }
        });

它现在可以工作了,痛苦的不是通过jquery,而是直接通过php对表单进行正常处理。这就是我的循环的样子

for($i=0; $i<count($_FILES['img']['name']); $i++){
        $target_path = "../props/";

        $ext =  strtolower(end(explode('.', $_FILES['img']['name'][$i])));

        $target_path = $target_path . md5(uniqid()) . "." . $ext; 

        if(move_uploaded_file($_FILES['img']['tmp_name'][$i], $target_path)) {
            echo "The file has been uploaded successfully <br />";
        } else{
            echo "There was an error uploading the file, please try again! <br />";
        }
    }

for($i=0;$iIt建议在
for()
循环中发送它们。请参阅任何基本调试,如
var\u dump($\u文件)
以查看到达的内容。请注意,您只是假设上载从未失败。有一个
['error']$\u文件中的
参数是有原因的。当我提醒$image\u路径时,它会给我其中4个的路径,但只有1个被上传到文件夹。我尝试使用for和foreach数组,但仍然得到相同的结果那些
$image\u路径实际上不同吗?
time()
以秒为单位返回时间。如果所有
$image\u path
都是在同一秒内创建的,则所有文件都将具有相同的文件名。最后从@gre\u gor获得一个重要线索,我终于解决了它。我使用了uniqid()而不是time()。谢谢。。。
        formdata.append('img1', img1);
        formdata.append('img2', img2);
        formdata.append('img3', img3);
        formdata.append('img4', img4);

$.ajax({
            url     : 'core/upload.php',
            type    : 'POST',
            data    : formdata,
            contentType : false,
            processData : false,
            success : function (ep){
                alert(ep);

                //$('#say').html(ep);
            }
        });
for($i=0; $i<count($_FILES['img']['name']); $i++){
        $target_path = "../props/";

        $ext =  strtolower(end(explode('.', $_FILES['img']['name'][$i])));

        $target_path = $target_path . md5(uniqid()) . "." . $ext; 

        if(move_uploaded_file($_FILES['img']['tmp_name'][$i], $target_path)) {
            echo "The file has been uploaded successfully <br />";
        } else{
            echo "There was an error uploading the file, please try again! <br />";
        }
    }