move_uploaded_file PHP方法不起作用

问题描述 投票:0回答:2

我正在尝试编写文件上传页面的服务器端代码。在客户端,我使用jQuery AJAX对象发送FormData对象,该对象包含两个键为“0”和“1”的图像。我检查了对象是否被发送到后端。

唯一的问题是move_uploaded_file方法返回false。

if (isset($_FILES["0"])) {
    if(move_uploaded_file($_FILES["0"]['tmp_name'], "/" . $_FILES["0"]["name"])){
        echo "okay";
    }
    else {
        echo "halfokay";
        print_r($_FILES);
    }
}
else {
    exit;   
}

输出:

halfokArray
(
    [0] => Array
        (
            [name] => _DSC0726.JPG
            [type] => 
            [tmp_name] => 
            [error] => 1
            [size] => 0
        )

    [1] => Array
        (
            [name] => _DSC0728.JPG
            [type] => 
            [tmp_name] => 
            [error] => 1
            [size] => 0
        )

)

更新:它适用于较小的图像,但最终它不应该在那里。

JQuery:

      var formData = new FormData();
      for (var i = 0; i < window.images.length; i++) {
                formData.append(i,window.images[i]);
              }
                  $.ajax({
                    url: 'realpetadupload.php',
                    data: formData,
                    processData: false,
                    contentType: false,
                    type: 'POST',
                    success: function(data){
                      alert(data);
                    }
                  });
php jquery file-upload backend
2个回答
0
投票

在您的输出错误显示1.这意味着上传的文件超过了php.ini中的upload_max_filesize指令。

请检查上传文件的大小。允许上传超过最大文件大小。


0
投票

事实证明,由于某种原因,我无法写入我的Web服务器的根文件夹。将路径更改为其他位置是解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.