php強制下載文件

由於現在的瀏覽器已經可以識別格式為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文件的下載,其他類型的類似。

發佈留言