为什么我无法用PHP上传视频?

时间:2017-06-23 17:04:30

标签: php

我写了这个代码,在这个论坛上找到了,我会轻松地将文件上传到我的服务器。



<?php

$allowedExts = array("jpg", "jpeg", "gif", "png", "mp3", "mp4", "wma", "mov", "MP4", "MOV", "JPG", "JPEG", "GIF", "WMA", "MP3");
$extension = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);

/*if ((($_FILES["file"]["type"] == "video/mp4")
|| ($_FILES["file"]["type"] == "video/mov")
|| ($_FILES["file"]["type"] == "audio/mp3")
|| ($_FILES["file"]["type"] == "audio/wma")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg"))

&& ($_FILES["file"]["size"] < 20000)
&& 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("upload/" . $_FILES["file"]["name"]))
      {
      echo $_FILES["file"]["name"] . " already exists. ";
      }
    else
      {
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "uploadFiles/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "uploadFiles/" . $_FILES["file"]["name"];
      }
    }
 /* }
else
  {
  echo "Invalid file";
  }*/
?>
&#13;
&#13;
&#13;

但它没有使用视频文件,我尝试使用38MB MP4文件... 我对文件没有任何控制权,那为什么它没有用呢?

P.S。我不需要任何控制,因为这是个人共享文件的方式,主要是视频和照片,我需要它,它会活跃一段时间,所以我知道这是有风险的,但只有少数人知道网站然而,这仅用于此。

1 个答案:

答案 0 :(得分:0)

您应该检查/更改(增加)您的上传(输入)服务器设置。这些:

1)max_input_time

2)upload_max_filesize

3)post_max_size

也许max_execution_time(我不知道你的价值)。 更改他们或通过php.ini.htaccess(例如设置php_value)。

在该行更改值(20000):

 ...
 && ($_FILES["file"]["size"] < 20000)
 ....

当然,它拒绝38Mb文件。