在PHP中可以透過header方法實作檔案下載,其語法為“header('Content-type: application/pdf');”,用於指定下載文件的類型。
推薦:《PHP影片教學》
PHP透過header實作文字檔下載的程式碼
所謂實現文本文件的下載就是說當我們點擊一個文本文件的鏈接的時候不是打開這個文件,而是彈出一個下載對話框讓我們下載
這就是今天討論的主要問題。 PHP幫助文件裡面關於PHP透過header觸發下載的說明比較簡單,而網路上關於此方面的文章也少的可憐,有很多文章都無法實現所需要的效果。今天我也來談一下這個方面的話題,如果你感覺比網路上的某些文章有所改進,那我就很知足了。
如果從準確的角度來說,那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');
這三句是正確的,但是在真正用的過程中很容易出現一些無法預料的問題,如果你是一個很仔細的人的話,也可以很容易的避免這些問題。而我不是,所以我就遇到了這樣的問題,這裡就以我的問題來簡單說一下。
對於第一句,應該沒啥說的,是必須的,只要改一下文檔的類型就行,例如是下載txt文件,那就改為header('Content-type: application/txt' );,第二句也沒啥說的,就是為你的下載文檔取一個名字,如果是txt檔案的話,可以改為header('Content-Disposition: attachment; filename=”downloaded.txt”'); ,第三句的問題就比較多了,readfile這個函數的意思就是讀取一個檔案然後輸出,這裡文件的路徑需要是真實的文件路徑,如果是downloads資料夾下面的一個original.txt文件,可以這樣寫readfile('downloads/original.txt');,而如果提交的頁面會輸出文本等字符,那麼下載到的文件會是原始文件original.txt和提交的頁面輸出的文字的混合文件。我在這裡就缺少了仔細的觀察,一看下面不對就立即去查程式碼了,而沒發現上面的文字就是我需要的內容,發現了這部分內容,你可能就很快想到怎麼來解決這個問題了,也就是關閉提交到的頁面的文字內容的輸出。
到這裡,我們的問題就解決了,從而也就實現了文字檔案連結被點擊的時候會觸發下載對話框的效果。
以上是php程式碼如何實作檔案下載的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文比較了酸和基本數據庫模型,詳細介紹了它們的特徵和適當的用例。酸優先確定數據完整性和一致性,適合財務和電子商務應用程序,而基礎則側重於可用性和

本文討論了確保PHP文件上傳的確保,以防止諸如代碼注入之類的漏洞。它專注於文件類型驗證,安全存儲和錯誤處理以增強應用程序安全性。

本文討論了在PHP中實施API速率限制的策略,包括諸如令牌桶和漏水桶等算法,以及使用Symfony/Rate-limimiter之類的庫。它還涵蓋監視,動態調整速率限制和手

本文討論了使用password_hash和pyspasswify在PHP中使用密碼的好處。主要論點是,這些功能通過自動鹽,強大的哈希算法和SECH來增強密碼保護

本文討論了OWASP在PHP和緩解策略中的十大漏洞。關鍵問題包括注射,驗證損壞和XSS,並提供用於監視和保護PHP應用程序的推薦工具。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver Mac版
視覺化網頁開發工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具