我面临以下问题:我想阻止人们从网站下载FLV文件(是的,我知道如果他们最终真的想要它们,他们会得到它们,别介意),所以我想把它们放在我的htdocs之外,并通过PHP"传输"它们。
为此,我使用了一个相当简单的代码块:
//Generate $filename here
header('Content-Disposition: filename=video.flv');
header('Content-Type: video/x-flv');
readfile($filename);
当我只调用PHP并获得我想要的FLV时,这非常好,但当我将其传递给应该加载视频的swf时,事情就停止了,什么也没发生(我可以在我的"工具"中看到浏览器确实下载了整个视频,但swf不会开始播放)。我怀疑这与swf认为"这不是FLV"有关,但我不知道为什么。与传输的文件一起发送的头信息非常好。顺便说一句,
有人知道吗?
谢谢!
这只是一个想法,但可能播放器依赖于Content-Length
标头,而您似乎没有发送该标头。