Mp3下载不起作用

时间:2009-12-01 03:39:16

标签: php mp3

我正在提供一个布道下载网站,我让用户遇到下载问题。任何人对如何改进此代码或者发送更好的标题都有任何想法...

$path = "http://www.domain.com/sermon_files/".date("Y", $array["preached"])."/".$array["filename"];
$corePath = "/home/user/public_html/sermon_files/".date("Y", $array["preached"])."/".$array["filename"];
if (!file_exists($corePath)) {
    echo "An error has occured with this download.";    
} else {
    header("Pragma: public"); // required
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Cache-Control: private", false); 
    header("Content-Type: audio/mp3");
    header("Content-Disposition: attachment; filename=\"".$array["title"]."\";" );
    header("Content-Transfer-Encoding: binary");
    header("Content-Length: ".filesize($corePath));
    readfile($path);
    exit();
}

3 个答案:

答案 0 :(得分:0)

将您的PHP(?)代码与可用X-Send的服务器结合起来,lighttpd也是如此apache

答案 1 :(得分:0)

注意Expires:0下载。这与IE6微小的大脑混淆,让它认为没有数据可以保存/打开。尝试在一分钟内访问过期,看看是否能解决问题。否则,请准确告诉我们问题所在。

答案 2 :(得分:0)

看一下这个帖子,我遇到了类似的问题:PHP: Force file download and IE, yet again。还要考虑使用Fiddler来捕获发送到客户端的确切HTTP头。