1

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

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

有没有人必须处理类似的问题?

4

1 回答 1

0

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

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

我认为这会流式传输普通资源(图像、文本等),但不确定这是否适用于 Flash 以及它是否取决于播放器。

我做了这样的事情,我确信它确实流式传输良好,但不确定是否做了其他一些黑魔法来获得流式传输功能(这是一个相当大的项目)。

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

于 2012-12-19T22:29:31.740 回答