我和那个问的人有一个非常相似的情况: 我可以用 PHP 提供 MP3 文件吗? 基本上我试图保护 mp3 文件不被直接下载,所以用户必须先通过 php 来获得身份验证。这是我的代码:
header('Content-type: audio/mpeg');
header('Content-length: ' . filesize($file));
header('X-Pad: avoid browser bug');
Header('Cache-Control: no-cache');
header("Content-Transfer-Encoding: binary");
header("Content-Type: audio/mpeg, audio/x-mpeg, audio/x-mpeg-3, audio/mpeg3");
readfile($file);
这是我的问题:文件只播放很小的开头部分(通过浏览器中的 Quicktime)然后停止 - Quicktime 似乎认为文件的长度只有它设法下载的块的长度。当我重新加载时 - 它会播放一个稍微大一点的块 - 无论它设法下载到那个点。
这是我发送的标题中的问题吗?我将如何流式传输这样的文件?如果 swf 正在从该文件中读取,会不会有问题?
谢谢!
谢谢你们所有的答案。尽管这些东西都不能完全解决问题,但它们中的许多都将我引向了正确的方向。非常感激。有关完整的解决方案,请参阅下面的答案