所謂實現文本文件的下載就是說當咱們點擊一個文本文件的連接的時候不是打開這個文件,而是彈出一個下載對話框讓咱們下載php
這就是今天討論的主要問題。PHP幫助文檔裏面關於PHP經過header觸發下載的說明比較簡單,而網上關於此方面的文章也少的可憐,有不少文章都沒法實現所須要的效果。今天我也來談一下這個方面的話題,若是你感受比網上的某些文章有所改進,那我就很滿足了。
app
若是從準確的角度來講,那PHP文檔是最準確的,由於它很簡練的列出了實現文本類文件觸發下載所須要的三條語句,以PDF爲例就是: 函數
// We'll be outputting a PDF header('Content-type: application/pdf'); // It will be called downloaded.pdf header('Content-Disposition: attachment; filename="downloaded.pdf"'); // The PDF source is in original.pdf readfile('original.pdf');
這三句是正確的,可是在真正用的過程當中很容易出現一些沒法預料的問題,若是你是一個很仔細的人的話,也能夠很容易的避免這些問題。而我不是,因此我就遇到了這樣的問題,這裏就以個人問題來簡單說一下。
到這裏,咱們的問題就解決了,從而也就實現了文本文件連接被點擊的時候會觸發下載對話框的效果。spa
代碼以下:注意紅色部分code
$filename = '路徑+實際文件名'; //文件的類型 header('Content-type: application/pdf'); //下載顯示的名字 header('Content-Disposition: attachment; filename="保存時的文件名.pdf"'); readfile("$filename"); exit();
下面是網上經常使用的方法 文檔
if (isset($link)) { Header("HTTP/1.1 303 See Other"); Header("Location: $link"); exit; }
$link就是文件的實際路徑。 it