IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁網(wǎng)絡(luò)編程PHP編程 → PHP通過header實(shí)現(xiàn)文本文件的下載

PHP通過header實(shí)現(xiàn)文本文件的下載

時(shí)間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)

PHP幫助文檔里面關(guān)于PHP通過header觸發(fā)下載的說明比較簡單,而網(wǎng)上關(guān)于此方面的文章也少的可憐,有很多文章都無法實(shí)現(xiàn)所需要的效果。今天我也來談一下這個(gè)方面的話題,如果你感覺比網(wǎng)上的某些文章有所改進(jìn),那我就很知足了。

如果從準(zhǔn)確的角度來說,那PHP文檔是最準(zhǔn)確的,因?yàn)樗芎喚毜牧谐隽藢?shí)現(xiàn)文本類文件觸發(fā)下載所需要的三條語句,以PDF為例就是:

以下為引用的內(nèi)容:

  // 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');

這三句是正確的,但是在真正用的過程中很容易出現(xiàn)一些無法預(yù)料的問題,如果你是一個(gè)很仔細(xì)的人的話,也可以很容易的避免這些問題。而我不是,所以我就遇到了這樣的問題,這里就以我的問題來簡單說一下。

對于第一句,應(yīng)該沒啥說的,是必須的,只要改一下文檔的類型就行,例如是下載txt文件,那就改為header(’Content-type: application/txt’);,第二句也沒啥說的,就是為你的下載文檔起一個(gè)名字,如果是txt文件的話,可以改為header(’Content-Disposition: attachment; filename="downloaded.txt"‘);,第三句的問題就比較多了,readfile這個(gè)函數(shù)的意思就是讀取一個(gè)文件然后輸出,這里文件的路徑需要是真實(shí)的文件路徑,如果是downloads文件夾下面的一個(gè)original.txt文件,可以這樣寫readfile(’downloads/original.txt’);,而如果提交的頁面會(huì)輸出文本等字符,那么下載到的文件會(huì)是原文件original.txt和提交的頁面輸出的文字的混合文件。我在這里就缺少了仔細(xì)的觀察,一看下面不對就立即去查代碼了,而沒發(fā)現(xiàn)上面的文本就是我需要的內(nèi)容,發(fā)現(xiàn)了這部分內(nèi)容,你可能就很快想到怎么來解決這個(gè)問題了,也就是關(guān)閉提交到的頁面的文本內(nèi)容的輸出。 到這里,問題就解決了,從而也就實(shí)現(xiàn)了文本文件鏈接被點(diǎn)擊的時(shí)候會(huì)觸發(fā)下載對話框的效果。

關(guān)鍵詞標(biāo)簽:PHP,header

相關(guān)閱讀

文章評論
發(fā)表評論

熱門文章 plsql developer怎么連接數(shù)據(jù)庫-plsql developer連接數(shù)據(jù)庫方法 plsql developer怎么連接數(shù)據(jù)庫-plsql developer連接數(shù)據(jù)庫方法 2021年最好用的10款php開發(fā)工具推薦 2021年最好用的10款php開發(fā)工具推薦 php利用淘寶IP庫獲取用戶ip地理位置 php利用淘寶IP庫獲取用戶ip地理位置 在 PHP 中使用命令行工具 在 PHP 中使用命令行工具

相關(guān)下載

    人氣排行 詳解ucenter原理及第三方應(yīng)用程序整合思路、方法 plsql developer怎么連接數(shù)據(jù)庫-plsql developer連接數(shù)據(jù)庫方法 PHP中防止SQL注入攻擊 PHP會(huì)話Session的具體使用方法解析 PHP運(yùn)行出現(xiàn)Notice : Use of undefined constant 的解決辦法 PHP如何清空mySQL數(shù)據(jù)庫 CakePHP程序員必須知道的21條技巧 PHP采集圖片實(shí)例(PHP采集)