2012-04-28 31 views
5

我是編程新手,剛剛在學校學習,但我希望我的用戶從我的主頁下載一些excel文件。下面的代碼不起作用,它只在瀏覽器中顯示它,而不強制下載對話框。如何強制使用php下載文件?

我該如何解決這個問題?

鏈接應該是:http://myurl.com/download.php?fileid=1http://myurl.com/download.php?fileid=2等等。

<?php 
switch ($_GET["fileid"]) { 
    case 0: 
     $file = "files/mon.xls"; 
     break; 
    case 1: 
     $file = "files/uru2.xls"; 
     break; 
    case 2: 
     $file = "files/oppo23.xls"; 
     break; 
} 
readfile($file); 

感謝您的幫助!

回答

12

您必須使用標題。就像你可以在閱讀php manual,它爲您的文件:

<?php 
header('Content-type: application/xls'); 
header('Content-Disposition: attachment; filename="downloaded.xls"'); 
readfile($file); 
5

有幾個方法可以做到這一點,但我已經找到了最簡單的方法是隻使用標頭。你可以做這樣的事情。

header('Location: files/oppo23.xls');