【问题标题】:move_uploaded_file PHP method not workingmove_uploaded_file PHP 方法不起作用
【发布时间】:2017-12-26 17:19:16
【问题描述】:

我正在尝试编写文件上传页面的服务器端代码。在客户端,我使用 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);
                    }
                  });

【问题讨论】:

  • 好吧,理论上我可以,这就是 FormData 对象的用途
  • 顺便说一句,1 表示UPLOAD_ERR_INI_SIZE 反正。
  • 显示表单+jquery plz

标签: php jquery file-upload backend


【解决方案1】:

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

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

【讨论】:

  • 是的,使用较小的图像它返回 true,但移动的文件不在它应该在的位置
  • 请检查目标路径是否正确且可写。
  • 这应该是评论,而不是答案。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-09
    • 2016-12-14
    • 2016-10-01
    • 2018-07-06
    • 2020-11-04
    • 1970-01-01
    • 1970-01-01
    • 2012-04-14
    相关资源
    最近更新 更多