【问题标题】:Video won't play (but does upload)视频无法播放(但会上传)
【发布时间】:2023-05-20 16:42:01
【问题描述】:

我创建了一个可以上传视频的网站,但视频无法播放(一旦上传):我已经尝试了所有方法,但仍然无法正常工作:

有什么建议吗?

我已经附上了她下面的代码(但我认为代码不是问题):我必须在文件“mime”中添加一些东西吗?

<!DOCTYPE html>
<html>
<body>

<form action="upload.php" method='post' enctype="multipart/form-data">
<input type="file" name="file"/><br><br>
    <input type="submit" value="Upload"/>
</form>
</form>


</body>
</html>

<?php 

$name= $_FILES['file']['name'];

$tmp_name= $_FILES['file']['tmp_name'];

$position= strpos($name, ".");

$fileextension= substr($name, $position + 1);

$fileextension= strtolower($fileextension);


if (isset($name)) {

$path= 'Hell';
if (empty($name))
{
echo "Please choose a file";
}
else if (!empty($name)){
if (($fileextension !== "mp4") && ($fileextension !== "ogg") && ($fileextension !== "webm"))
{
echo "The file extension must be .mp4, .ogg, or .webm in order to be uploaded";
}


else if (($fileextension == "mp4") || ($fileextension == "ogg") || ($fileextension == "webm"))
{
if (move_uploaded_file($tmp_name, $path.$name)) {
echo 'Uploaded!';
}
}
}
}
?>


<?php

if (($fileextension == "mp4") || ($fileextension == "mov") || ($fileextension == "webm"))
{
echo "<video width='1000' controls>
<source src='$path/$name' type='video/$fileextension'>
Your browser does not support the video tag.
</video>";

}

?>

【问题讨论】:

  • http://whatever-your-domain-is/$path/$name 可以访问吗?检查开发者工具中的浏览器错误。
  • 是的,我可以访问(而且我可以上传视频,没有错误),但我无法播放视频 :-)(什么是开发者工具)
  • 所以如果您转到上传的视频 URL,它会显示视频/下载视频?
  • 是的 :-) 但无法播放(包括没有声音):就像网站以某种方式将其视为图片(奇怪)
  • 嗯,也许有人可以提出其他建议。

标签: php web video upload playback


【解决方案1】:

我想知道您的代码是否在上传完成之前发出视频请求 - 因此是 404。如果您可以在“上传”之后强制它发生...

或者 - 使用文件 API 在本地播放视频 - 无需上传到服务器(这也使其超级快)。

示例代码:https://github.com/dougsillars/blobUpload/blob/master/playVideoLocally.html

【讨论】: