由於現在的浏覽器已經可以識別格式為txt的文檔格式,所以如果只是給txt文檔做一個文字鏈接的話,可能只是打開一個新窗口顯示txt文件的內容,並不能實現點擊下載的目的。We have to do something else.
當然這個問題的解決辦法也可以是你將你的txt文件改名為浏覽器不認識的文件,比如rar,這樣的話點擊,浏覽器不認識就只好讓用戶下載了。
下面這個文件就是通過設置header設置文檔的格式來實現點擊下載的目的,將上個頁面傳遞過來的文件點擊可以下載。
<?php
$filename = "/somepath/".$_GET[file].".txt"; //要下載的文件名
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=".basename($filename));
readfile($filename);
?>
首先:設置Content-Type的值為application/force-download,強制下載
接著第二個header函數設置了要下載的文件,注意這裡filename是不包含路徑的文件名,所以用basename過濾掉路徑名。這個filename的值將來就是點擊下載後彈出對話框裡面的文件名.
最後就是readfile,將文件流輸出到浏覽器,這樣就實現了txt文件的下載,其他類型的類似。