我正在使用goDaddy服务器和cPanel制作网站,我想制作一项功能,让用户上传视频,将其保存在服务器上,然后将其显示在网站的其他位置。
echo "<iframe src='uploads/videos/sample.mov' frameborder='0' allowfullscreen></iframe>";
如何将上传到服务器上的.mov等视频格式在网站上播放?
我们目前能够使用以下代码获取mp4,但我不想限制用户仅上传mp4
if(isset($_FILES["submit_file"])){ //this comes from an html form
$name = $_FILES['submit_file']['name'];
$original_name = $name;
$size = $_FILES['submit_file']['size'];
$tmp_name = $_FILES['submit_file']['tmp_name'];
$target_dir = null;
$finfo = finfo_open(FILEINFO_MIME_TYPE);//get mime type
$mime = finfo_file($finfo, $tmp_name);
if ($mime == "video/mp4" || $mime == "video/wmv" || $mime == "video/avi" || $mime == "video/mov")
{
$target_dir = "uploads/videos/";
$path = $target_dir . basename($name);
if (move_uploaded_file($tmp_name, $path) == true) {
//moved
}
}else{
//error: Unsupported File Type;
}
}
像facebook这样的网站如何允许上传mp4以外的视频?我研究了使用FFmpeg将所有内容转换为mp4,但我没有看到如何在godaddy服务器上安装和使用它。
答案 0 :(得分:1)
实际上,像Facebook这样的网站并不只是将视频存储在他们的文件系统中,而是使用FFmpeg或类似的库来转换它们。除非您正在运行VPS或Dedicated Server,否则您无法安装它。 如果您正在运行共享主机,服务提供商可以为您安装它,但根据我的经验,他们不会因为您将消耗与您共享实例的人员的资源(似乎合法:) :)
关于代码,它只是在将文件保存到存储之前检查文件mime类型,据我所知它应该接受其他格式,如avi,wmv和mov。
请记住,该代码不会检查该文件是否真的是一个视频文件,它只是检查扩展名(该文件可能有编码错误,你不会知道)。