2014-02-17 187 views
0

如何讓php強制下載文件。我在文件歌曲中有一個名爲song1的文件,它是一首歌曲。所以從我的頁面是歌曲/歌曲1。如何在PHP運行後立即讓php下載文件?PHP強制下載

回答

1

你必須送出去的HTTP標頭:

header('Content-disposition:attachment; filename=song.mp3;'); 

然後你有例如file_get_contents()拉歌的數據。最後使用die()exit()來避免添加額外的數據。

注意:如果你已經發送了HTTP標頭(寫出一些空白字符等),上述代碼將不起作用,所以如果可以的話,直接放在<?php之後。

0

試試下面的代碼

$file='song1.mp3'; 
if (file_exists('song/'.$file)) { 
     header('Content-Description: File Transfer'); 
     header('Content-Type: application/octet-stream'); 
     header('Content-Disposition: attachment; filename='.basename('song/'.$file)); 
     header('Content-Transfer-Encoding: binary'); 
     header('Expires: 0'); 
     header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); 
     header('Pragma: public'); 
     header('Content-Length: ' . filesize('song/'.$file)); 
     ob_clean(); 
     flush(); 
     readfile('song/'.$file); 
    } 

它將直接下載文件。