来自html页面中文件系统的视频

时间:2015-06-30 17:47:45

标签: php html video

我正在编写一个PHP代码,我在外部硬盘上的html页面上显示几个视频。 Apache可以访问视频所在的文件夹。

PHP代码如下: -

<html>

<?php
foreach(glob('G:/path/to/videos/*') as $file)
{
        echo $file,"\n";   // --------------> This line works and displays the video names
}
?>

<video width="320" height="240" controls>
  <source src="G:/path/to/videos/video 1.mp4" type="video/mp4">  ----> PROBLEM lies here
</video>

</html>

但是,浏览器中HTML页面上显示的视频播放器不播放任何视频。

谁能告诉我我做错了什么?

2 个答案:

答案 0 :(得分:1)

您可以将实际的文件路径存储在数据库中并使用php进行请求。然后,您可以将文件复制到站点的临时文件夹,并将该文件路径传递回前端,然后在关闭文件后触发删除功能。所以例如我在我的应用程序中使用了以下代码,首先我将ajax请求发送到带有变量“filepath”的php文件:             copy(DOCUMENT_ROOT."/".$_REQUEST['filepath'].".pdf",SITE_ROOT.TEMP_STORAGE."/".$_REQUEST['filepath'].".pdf");

所以我在config.php文件中定义了一个DOCUMENT_ROOT,用于显示所有文件的实际基本位置。我还指定了SITE_ROOT和TEMP_STORAGE。 SITE_ROOT是站点的基本服务器文件路径,TEMP_STORAGE是存储文件以供查看的默认临时位置。
然后我执行以下操作: $outcome = array("location" => SECURE_ROOT.TEMP_STORAGE."/".$_REQUEST['filepath'].".pdf", "actual_path" => SITE_ROOT.TEMP_STORAGE."/".$_REQUEST['filepath'].".pdf");

所以我传递了文件的服务器位置和实际的URL来访问文件。


然后从ajax成功函数中访问位置变量,完成后调用delete函数并将实际路径传递回php函数并使用以下代码:

if(!unlink($_REQUEST['filepath'])){
   $response = "unable to delete file.";
}else{
   $response = "file deleted successfully.";
}

不确定这是否是最佳方法,但它确实适用于我开发的商业应用。它隐藏了公众眼中的实际服务器文件路径。

看完自己的答案后,似乎很困惑,哈哈。如果您想进一步澄清,请告诉我。

答案 1 :(得分:1)

您在访问视频文件时遇到问题。这里最好的解决方案是将所有文件移动到单独的文件夹,如Web服务器(WAMP / LAMP)位置中的视频,并按如下方式指向这些文件。

test.rs:21:48: 21:52 error: cannot move out of borrowed content
test.rs:21             None => curr.right = Some(Box::new(*new))
                                                          ^~~~
test.rs:26:47: 26:51 error: cannot move out of borrowed content
test.rs:26             None => curr.left = Some(Box::new(*new))
                                                         ^~~~
test.rs:21:21: 21:54 error: cannot assign to immutable field `curr.right`
test.rs:21             None => curr.right = Some(Box::new(*new))
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
test.rs:26:21: 26:53 error: cannot assign to immutable field `curr.left`
test.rs:26             None => curr.left = Some(Box::new(*new))
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
error: aborting due to 4 previous errors