2011-09-23 114 views
0

好的我有一个网站,提供MP3格式的播客。有一个的.htaccess的路由MP3文件的下载脚本的请求,那就是如下:强制MP3文件下载,而不是使用Quicktime在浏览器中打开

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteRule (.*.mp3)$ download.php?file=$1 
</IfModule> 

的PHP下载脚本如下:

$filename = (isset($_REQUEST['file']) ? $_REQUEST['file'] : ''); 
$filesize = @filesize($filename); 
if ($filename == '' || $filesize == 0) exit(0); 
header("Content-Type: audio/mpeg"); 
header("Content-Description: {$filename}"); 
header("Content-length: {$filesize}"); 
header("Content-Disposition: attatchment; filename={$filename}"); 
readfile($filename); 

一切精美的作品在PC上,并在大多数的Mac浏览器。但是,在Safari上,Quicktime拦截下载。 iPhone和iPad上也出现同样的情况。由于目标受众可能主要是苹果用户,我希望“下载”按钮可以做到这一点 - 下载,而不是使用Quicktime插件在浏览器中播放,无论设备如何。 “流”按钮可以在浏览器中播放文件,但不能播放“下载”按钮。

执行右键单击(或Cmd +单击)并将文件另存为...是不可接受的。

有什么办法可以在所有平台上用PHP,HTTP,HTML等进行强制下载,除非点击下载按钮,否则不需要用户执行任何操作?

回答

0

您需要在提供文件时设置content-disposition HTTP标头。通过设置这个HTTP头,它将指示浏览器提供一个提示,让用户保存或打开文件。你可以在这里找到更多的信息:

http://support.microsoft.com/kb/260519

相关问题