iTunes Podcast RSS PHP跟踪 - 不下载

时间:2011-12-15 08:21:46

标签: php codeigniter rss itunes

我正试图在iTunes中跟踪MP3播客的下载。我创建了一个简单的codeignitor网站,它生成如下的URL:

www.site.com/podcasts/download/ [ID] .MP3

脚本从URL中取出ID,检查它是否存在于DB中 - 获取文件的URL,然后执行以下操作:

header("Cache-Control: no-cache, must-revalidate");
header("Expires: Sat, 01 Jan 2011 01:01:01 GMT"); 
header('Content-type: audio/mpeg');
header('Content-Disposition: attachment; filename=episode'.$id.'.mp3"');
readfile($this->podcast_model->get_strPodcastFileName());   

如果你在浏览器中点击URL它可以工作并且文件开始下载,但是当把1个链接放到iTunes时,它开始说“正在下载0%”但是没有下载?

要注意的一点是方法:$ this-> podcast_model-> get_strPodcastFileName()返回HTTP://链接,而不是指向服务器上文件的链接,HTTP地址也不在与脚本相同的服务器。虽然这是通过浏览器下载文件时工作,如上所述。

有没有人有任何想法?

由于 詹姆斯

1 个答案:

答案 0 :(得分:1)

我修复它而不是使用readfile(...)我只是将标题301重定向到URL,如下所示:

header("HTTP/1.1 301 Moved Permanently" ); 
header("Location: http://www.url_to_mp3_file/1.mp3");  

其他任何尝试此操作的人都有一点。我建议你检查一下数据库中最近X分钟的先前下载情况(我再次检查IP地址,URL和时间戳),因为有些MP3 /音频播放器提出了几个缓冲文件的请求。

希望这有帮助。