PHP视频上传不起作用

时间:2018-06-23 01:41:06

标签: php video

我有一个PHP视频上传脚本,该脚本仅接受.mp4文件。 PHP版本是7。这是我的表单(简体):

<form method="post" action="something.php" enctype="multipart/form-data">
    <input type="file" name="video">
    <input type="submit" name="submit">
</form>

这是PHP(简体):

$video = $_FILES["video"];
var_dump($video);

假设选择上传的文件是视频,它是mp4,大约需要2到3分钟。还要假设我们检查是否确实单击了提交按钮。

这是PHP的输出:

array (size=5)
  'name' => string 'Sample Video.mp4' (length=16)
  'type' => string '' (length=0)
  'tmp_name' => string '' (length=0)
  'error' => int 1
  'size' => int 0

我有多个示例视频文件,所有文件都以相同的错误结尾。为什么PHP无法获取文件?通常,我希望tmp_name应该有一个我可以通过php读取的文件。

  

编辑:我使用的是PHP 7,这是在Mac OSX高山脉上的localhost。

2 个答案:

答案 0 :(得分:0)

问题出在Web服务器设置上。我将代码从appendChild移到了实际的域。那为我解决了这个问题。之后,我的php上传代码就可以了。

答案 1 :(得分:-1)

我认为您需要进行准备,请检查该文件是否已上传

<?php
  $target_dir = "uploads/";
  $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
  $uploadOk = 1;
  $imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
  // Check if image file is a actual image or fake image
  if(isset($_POST["submit"])) {
       $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
       if($check !== false) {
           echo "File is an image - " . $check["mime"] . ".";
            $uploadOk = 1;
   } else {
        echo "File is not an image.";
         $uploadOk = 0;
   }
} ?>

所以您知道文件是否上传

W3Cschool

获取该代码