上传较大的文件到服务器不起作用

时间:2015-07-14 07:03:57

标签: php upload server

我在这里遇到一个关于在我的服务器中上传更大文件的问题。我在这里经历了很多相关的问题,但我仍然遇到了同样的问题。我在服务器中增加了所有必需的php.ini,当我上传大文件只有38MB时,系统无法上传它。我在这里做错了什么。请提前帮助谢谢。

$allowedExts = array("mp4", "MP4");
$extension = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);

if ((($_FILES["file"]["type"] == "video/mp4")
|| ($_FILES["file"]["type"] == "video/MP4"))

&& in_array($extension, $allowedExts))

  {
  if ($_FILES["file"]["error"] > 0)
    {
    echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
    }
  else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br />";
    echo "Type: " . $_FILES["file"]["type"] . "<br />";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";

    if (file_exists('/home/hyborg/public_html/vimeo2/upload/' . $_FILES["file"]["name"]))
      {
      echo $_FILES["file"]["name"] . " already exists. ";
      }
    else
      {
      move_uploaded_file($_FILES["file"]["tmp_name"], '/home/hyborg/public_html/vimeo2/upload/' . $_FILES["file"]["name"]);
      echo "Upload Success" . $_FILES["file"]["name"];
      }
    }
  }
else
  {
  echo "Sorry something wrong with your upload";
  }

1 个答案:

答案 0 :(得分:0)

你做了所有适当的改变吗? upload_max_filesizepost_max_size

此外,您应该更改max_input_time,因为upload.PHP脚本通常会在30秒后超时。对于要上传的较大文件,需要花费很多时间。尝试将max_execution_time增加到类似500(在秒)。

然后你必须在PHP应用程序中定义约束:

ini_set('upload_max_filesize', '10M');
ini_set('post_max_size', '10M');
ini_set('max_input_time', 300);
ini_set('max_execution_time', 300);

PHP还提供了set_time_limit()函数,因此您无需直接设置max_execution_time。

在PHP代码中设置选项可能更实用,因为当您的应用程序需要大量上传时,您可以延长执行时间并增加文件大小。