php - 修正 uploader 上传错误

标签 php jquery html file-upload fine-uploader

所以我尝试使用 fine-uploader (Minimal jQuery Demo)在我的网站上上传一些图片到网络服务器的Upload 文件夹中。但是上传总是失败,我不知道为什么。

当我单击“上传文件”并选择一个文件时,它开始上传(进度条开始填充),当它达到 100% 时,它会显示“上传失败”,并在检查元素中给出此错误: "Upload failed" error (Bigger size image)

这是 upload.html:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Fine Uploader - jQuery Wrapper Minimal Demo</title>
    <link href="css/fineuploader-3.6.3.css" rel="stylesheet">
  </head>
  <body>
    <div id="fine-uploader"></div>

    <script src="http://code.jquery.com/jquery-latest.js"></script>
    <script src="js/jquery.fineuploader-3.6.3.js"></script>
    <script>
      function createUploader() {
        var uploader = new qq.FineUploader({
          element: document.getElementById('fine-uploader'),
          request: {
            endpoint: 'upload_file.php'
          }
        });
      }

      window.onload = createUploader;
    </script>
  </body>
</html>

和 upload_file.php:

<?php
for($i=0; $i<count($_FILES['file']['type']); $i++) {
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"][$i]);
$extension = end($temp);
if ((($_FILES["file"]["type"][$i] == "image/gif")
|| ($_FILES["file"]["type"][$i] == "image/jpeg")
|| ($_FILES["file"]["type"][$i] == "image/jpg")
|| ($_FILES["file"]["type"][$i] == "image/pjpeg")
|| ($_FILES["file"]["type"][$i] == "image/x-png")
|| ($_FILES["file"]["type"][$i] == "image/png"))
&& ($_FILES["file"]["size"][$i] < 50000000)
&& in_array($extension, $allowedExts))
  {
  if ($_FILES["file"]["error"][$i] > 0)
    {
    echo "Return Code: " . $_FILES["file"]["error"][$i] . "<br>";
    }
  else
    {
    echo "Upload: " . $_FILES["file"]["name"][$i] . "<br>";
    echo "Type: " . $_FILES["file"]["type"][$i] . "<br>";
    echo "Size: " . ($_FILES["file"]["size"][$i] / 1024) . " kB<br>";
    echo "Temp file: " . $_FILES["file"]["tmp_name"][$i] . "<br>";

    if (file_exists("upload\\" . $_FILES["file"]["name"][$i])) 
      {
      echo $_FILES["file"]["name"][$i] . " already exists. ";
      }
    else
      {
      move_uploaded_file($_FILES["file"]["tmp_name"][$i],
      "\\upload\\" . $_FILES["file"]["name"][$i]); 
      echo "Stored in: " . "upload\\" . $_FILES["file"]["name"][$i]; 
      }
    }
  }
else
  {
  echo "Invalid file";
  }
}

?>

最佳答案

您没有返回有效的 JSON 响应。一个简单的方法是使用 json_encode .

将当前的回显行放入一个数组中,并在使用 json_encode 后回显该数组,以获得有效的 JSON 响应。

关于php - 修正 uploader 上传错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17805676/

相关文章:

php - 使用 Post 和 httpUrlConnection 发送 url 参数

php - 如果页面有多个表单,则使用 jquery/ajax 提交表单而不刷新

javascript - 导航栏上的 Jquery 下拉菜单无法正常工作

html - 使最后一个 div 只有 border-bottom

PHP Array 在同一个键上合并两个数组

php - 如何使用 session 中的信息从 MySQL 中获取信息

jquery - 为什么我的 CSS Bottom 属性将 div 的上边缘而不是下边缘与文档的底部对齐?

jquery - 我想将 2 个 jquery 代码合并为一个,以便在小型设备上调整某些字体大小

javascript - 使用 HTML、Javascript 或 jQuery 嵌入本地托管视频的简单方法

php - 在此上下文中,元素 p 不允许作为元素 dl 的子元素。 (抑制来自该子树的更多错误。)