视频上传网页无法上传

时间:2018-11-28 17:09:46

标签: video upload

我正在尝试整理一个简单的视频上传页面。我在回顾PHP文档,W3schools网站和以前在此问题上的可接受答案中都看到了。似乎HTML表单和PHP页面是一种有效的解决方案。我目前的尝试是在这里:

表单HTML:

<!-- From Stack Overflow https://stackoverflow.com/questions/18217964/upload-video-files-via-php-and-save-them-in-appropriate-folder-and-have-a-databa/18219669 -->
<!DOCTYPE html>

<head>
<title></title>
</head>

<body>

<form action="upload.php" method="post" enctype="multipart/form-data">
<label for="file"><span>Filename:</span></label>
<input type="file" name="file" id="file" /> 
<br />
<input type="submit" name="submit" value="Submit" />
</form>

</body>
</html>

PHP页面:

<?php
//var_dump($_FILES);
//$allowedExts = array("jpg", "jpeg", "gif", "png", "mp3", "mp4", "wma");
$allowedExts = array("mp4");
$extension = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);

if (($_FILES["file"]["type"] == "video/mp4")
/*if ((($_FILES["file"]["type"] == "video/mp4")
|| ($_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"] < 20000000)
&& 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"],
      "uploads/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "uploads/" . $_FILES["file"]["name"];
      }
    }
  }
else
  {
  echo "Invalid file";
  }
?>

我从测试服务器收到PHP通知“未定义的索引:文件”。运行的最终结果是上传失败和“无效文件”消息。

PHP文件开头的“ var_dump($ _ FILES)”命令显示为空。从标记中删除enctype属性会传递文件名,但不会上传文件。我从W3学校代码中得到了类似的结果。

我怀疑这不是代码,而是PHP配置问题,但我不知道在哪里看。 我正在WampServer 3.0.6中运行PHP 5.6.25。

我从这里去哪里?

1 个答案:

答案 0 :(得分:0)

答案在于Wamp php.ini设置。对于大型上传文件(例如我的视频文件),它们过于保守。我在WAMP Uploading large File找到了一个较早的StackOverflow问题,该问题已解决。我尝试编辑c:\ wamp \ alias \ phpmyadmin.conf文件,但这对我不起作用。起作用的是在Wamp中打开PHP.ini文件。请注意,上一篇文章指示您不要直接进入ini文件。必须通过Wamp完成。我修改了post_max_size,upload_max_file_size,max_execution_time