使用PHP为视频文件提供流媒体,这些文件位于文档根目录之外

时间:2012-12-19 22:15:27

标签: php webserver document-root

我正在编写各种文件浏览器/上传器,允许用户预览图像和视频文件,而无需将文件下载到硬盘上。出于隐私和安全原因,我将这些资产文件保存在文档根目录之外。我可以通过使用GD库生成图像预览,但是,我不确定如何为Flash播放器提供SWF或FLV文件以供播放。有没有办法PHP可以通过readfile()提供临时文件?

它的工作原理如下:http://example.com/flv_serve.php?file=sample.flv。然后readfile将从资产目录中获取$_GET['file']并将文件作为FLV转储到Web服务器。当然,它首先会验证访问flv_serve.php的人是否具有该会话对该文件的权限。

以前有人必须处理类似的问题吗?

1 个答案:

答案 0 :(得分:0)

我不确定流媒体,但是如果你想输出文件,我会这么做:

// authentication
header("Content-type: application/x-shockwave-flash");
readfile($filePath);

我认为这会传输正常资源(图像,文本等),但我不确定这是否适用于Flash以及它是否依赖于播放器。

我做了类似的事情,我确信它确实流畅,但我不确定是否还有其他黑魔法来获得流媒体功能(这是一个非常大的项目)。

底线:如果你可以在网络服务器上传递文件并在播放器中传输,那么它也可以正常工作。