由于現在的浏覽器已經可以識别txt文檔格式,如果隻給txt文檔做一個文字連結的話,點選後隻是打開一個新視窗顯示txt檔案的内容,并不能實作點選下載下傳的目的。當然這個問題的解決辦法也可以是将txt檔案改名為浏覽器不認識的檔案(比如rar),這樣的話,由于浏覽器不能識别rar類型的檔案,隻能讓使用者下載下傳了。還有一種辦法,就是利用代碼通過header設定文檔的格式來實作點選下載下傳的目的。
PHP代碼如下:
===========================================================
$filename = '/path/'.$_GET['file'].'.txt'; //檔案路徑
header("Content-Type: application/force-download");
header("Content-Disposition: p_w_upload; filename=".basename($filename));
readfile($filename);
簡要說明:
第一個header函數設定Content-Type的值為application/force-download;
第二個header函數設定要下載下傳的檔案。注意這裡的filename是不包含路徑的檔案名,filename的值将來就是點選下載下傳後彈出對話框裡面的檔案名,如果帶路徑的話,彈出對話框的檔案名就是未知的;
最後通過readfile函數,将檔案流輸出到浏覽器,這樣就實作了txt檔案的下載下傳。