2011-09-23 113 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

相關問題