用PHP實現(xiàn)瀏覽器點擊下載TXT文檔的方法詳解
由于現(xiàn)在的瀏覽器已經(jīng)可以識別txt文檔格式,如果只給txt文檔做一個文字鏈接的話,點擊后只是打開一個新窗口顯示txt文件的內(nèi)容,并不能實現(xiàn)點擊下載的目的。當(dāng)然這個問題的解決辦法也可以是將txt文件改名為瀏覽器不認(rèn)識的文件(比如rar),這樣的話,由于瀏覽器不能識別rar類型的文件,只能讓用戶下載了。還有一種辦法,就是利用代碼通過header設(shè)置文檔的格式來實現(xiàn)點擊下載的目的。
PHP代碼如下:
===========================================================
$filename = '/path/'.$_GET['file'].'.txt'; //文件路徑
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=".basename($filename));
readfile($filename);
===========================================================
簡要說明:
第一個header函數(shù)設(shè)置Content-Type的值為application/force-download;
第二個header函數(shù)設(shè)置要下載的文件。注意這里的filename是不包含路徑的文件名,filename的值將來就是點擊下載后彈出對話框里面的文件名,如果帶路徑的話,彈出對話框的文件名就是未知的;
最后通過readfile函數(shù),將文件流輸出到瀏覽器,這樣就實現(xiàn)了txt文件的下載。
相關(guān)文章
同臺服務(wù)器使用緩存APC效率高于Memcached的演示代碼
之前看到有文章說同臺服務(wù)器上APC的效率是Memcached的7倍,APC效率比Memcached高是肯定的,至于倒底快多少,我寫了個小程序測試了下。2010-02-02Php output buffering緩存及程序緩存深入解析
在php中有時為了控制程序的輸出顯示順序,提供了output buffering緩存(php自身緩存機制)。若Ob緩存開啟,需要輸出的就先存在ob緩存里,再到程序緩存里。若沒有開啟,則直接進(jìn)入程序緩存,程序執(zhí)行完畢,按照順序從程序緩存里輸出2013-07-07PHP模擬asp.net的StringBuilder類實現(xiàn)方法
這篇文章主要介紹了PHP模擬asp.net的StringBuilder類實現(xiàn)方法,較為簡單的模擬了StringBuilder類針對文本的基本操作技巧,需要的朋友可以參考下2015-08-08php中g(shù)et_object_vars()方法用法實例
這篇文章主要介紹了php中g(shù)et_object_vars()方法用法,實例分析了get_object_vars()方法獲取對象中屬性的使用技巧,需要的朋友可以參考下2015-02-02DedeCMS 核心類TypeLink.class.php摘要筆記
DedeCMS 核心類TypeLink.class.php摘要筆記,學(xué)習(xí)php就是借鑒與分析,讓自己的掌握的更多。2010-04-04