gpt4 book ai didi

PHP 流媒体 MP3

转载 作者:行者123 更新时间:2023-12-03 01:38:02 27 4
gpt4 key购买 nike

我和提问者的情况很相似: Can I serve MP3 files with PHP?基本上我试图保护 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 似乎认为文件的长度仅与它管理的 block 一样长下载。。当我重新加载时 - 它会播放一个稍大的 block - 无论它到目前为止成功下载的是什么。

我发送的 header 有问题吗?我将如何传输这样的文件?如果 swf 正在从该文件读取,是否有问题?

谢谢!

<小时/>

谢谢大家的回答。尽管这些事情都不能完全解决问题,但其中许多都给我指明了正确的方向。非常感激。对于完整的解决方案,请参阅下面我的回答

最佳答案

这就是成功的秘诀。

$dir = dirname($_SERVER['DOCUMENT_ROOT'])."/protected_content";
$filename = $_GET['file'];
$file = $dir."/".$filename;

$extension = "mp3";
$mime_type = "audio/mpeg, audio/x-mpeg, audio/x-mpeg-3, audio/mpeg3";

if(file_exists($file)){
header('Content-type: {$mime_type}');
header('Content-length: ' . filesize($file));
header('Content-Disposition: filename="' . $filename);
header('X-Pad: avoid browser bug');
header('Cache-Control: no-cache');
readfile($file);
}else{
header("HTTP/1.0 404 Not Found");
}

关于PHP 流媒体 MP3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2358253/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com