【问题标题】:Video Uploader not working for mp4 with php视频上传器不适用于带有 php 的 mp4
【发布时间】:2013-11-08 01:22:17
【问题描述】:

我有一个上传器,可以很好地处理图片,但不能很好地处理视频。我需要它来做视频。我已经在 php.ini 中增加了文件大小有人发现这里有错误吗?我只需要它来播放 mp4 视频。

上传者以无效文件响应。我正在上传 mp4 视频。

代码真的很基本,但我仍然缺少一些东西。

离线,我使用 xampp,在线我使用 godaddy 作为我的主机。

PHP 代码:

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

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

&& ($_FILES["file"]["size"] < 20000000000000)
&& 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"],
      "upload/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
      }
    }
  }
else
  {
  echo "Invalid file";
  }
?>

HTML:

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

【问题讨论】:

  • mp4 视频的 $extension 价值是什么?
  • 它的回声 mp4
  • 尝试打印你实际得到的 mp4$_FILES["file"]["type"]

标签: php video upload


【解决方案1】:

好的,谢谢你们的帮助。我想到了。几个小时后....和几个小时.......和几个小时谷歌搜索,进行更改,并且形象地把我的头撞到墙上,我发现 Godaddy 最多只允许在客户端上传 128mb。不要与 godaddy 用户可以上传到他们的主机帐户的最大文件大小相混淆,这个文件要大得多。

如果其他人在上传视频时遇到此问题,则有一个视频转换器可以大大减少视频占用的空间量。它说它是为使用 lightworks 编辑器的人制作的,但我已经使用了很多视频。 570mb 的视频也可以缩小到 90mb,5.1gb 的视频可以缩小到 200mb。

http://eyeframeconverter.wordpress.com/

我也做了以下步骤

1) 将视频拖入眼框程序

2) 点击底部的转换按钮

3)点击转换后确保设置如下

-编辑 -->> LW FREE Mpeg2 I-Frame HD - 代理四分之一大小

-交付 -->> H264 MP4 Profile High

我真的很希望这对某人有所帮助。当您无法通过谷歌确定答案并且您必须致电技术支持时,这令人沮丧。

--------编辑-----

如果您转到如何更改限制大小下的部分,以下链接支持 GoDaddy 限制,它会告诉您可以设置的最大值。 很有可能,如果这种情况发生变化,链接将会更新。

http://support.godaddy.com/help/article/1475/what-is-the-php-upload-limit-on-linux-hosting-accounts

【讨论】:

    【解决方案2】:

    Godaddy 会让您制作自己的 php5.ini 文件,如果您愿意,您可以将上传设置更改为 4 gigs。那么你所做的一切,一旦将新的 php5.ini 上传到你的 godaddy 帐户,你只需要关闭你的主机并在 godaddy 控制面板中重新启动它。

    【讨论】:

    • 你测试过这个吗?我当天试了一下,改成2gb,达到一定的最大容量后还是失败了。我不记得有多少,但如果我没记错的话,那是一场演出。客户服务代表告诉我,虽然它会增加尺寸,但它不会超过他们的限制,这在发布这篇文章时是一场演出。如果您确实对其进行了测试,您是否有示例说明您是如何做到的?由于您设置它的方式,它可能会起作用。可能是一个值得使用的解决方法。
    • 在下面的链接中,如果你往下走,在它声明你可以更改金额之后,它还显示了可以更改的最大值。 support.godaddy.com/help/article/1475/…
    【解决方案3】:

    您必须在 php.ini 中修改 POST 最大大小,而不仅仅是 文件上传大小

    如果你想禁用限制,它应该看起来像这样:

    ; Maximum size of POST data that PHP will accept.
    ; Its value may be 0 to disable the limit. It is ignored if POST data reading
    ; is disabled through enable_post_data_reading.
    ; http://php.net/post-max-size
    post_max_size=0
    

    当然还有文件限制:

    ; Maximum allowed size for uploaded files.
    ; http://php.net/upload-max-filesize
    upload_max_filesize=1000M
    

    希望这可以帮助您跳过转换视频。

    问候。

    【讨论】:

    • Go daddy 不允许超过他们设定的限制。您可以增加默认值的限制,但它们的最大值会很小(在处理视频时)。在这种情况下,Max 什么都不做。不过想法不错。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-24
    • 2023-04-06
    • 2014-04-16
    • 2018-07-25
    • 2014-10-13
    • 2023-03-31
    • 2016-07-12
    相关资源
    最近更新 更多