首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP视频上传不起作用

PHP视频上传不起作用
EN

Stack Overflow用户
提问于 2018-06-23 09:41:06
回答 2查看 146关注 0票数 0

我有一个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分钟。还假设我们检查了submit按钮实际上是被点击的。

下面是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读取的文件。

PHP7:我使用的是PHP7,这是在本地主机上运行的mac

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-25 04:50:00

问题出在Web服务器设置上。我将我的代码从localhost转移到一个实际的域中。这为我解决了问题。在那之后,我的php上传代码运行得很好。

票数 0
EN

Stack Overflow用户

发布于 2018-06-23 09:50:08

我认为你需要设置一个处理条件来检查文件是否上传

<?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获取代码

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50997257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档