首頁 >後端開發 >php教程 >如何使用 PHP 強制下載檔案?

如何使用 PHP 強制下載檔案?

Linda Hamilton
Linda Hamilton原創
2024-12-24 04:55:14720瀏覽

How Can I Force a File Download Using PHP?

使用 PHP 強制下載檔案

導覽到網頁時,如何使用 PHP 強制下載檔案?

解:

PHP 提供了一個為此,呼叫了 readfile() 函數。透過配置標頭並利用 readfile(),我們可以觸發下載。

實作:

  1. 設定標頭:
    設定以下標題以提示download:

    header('Content-Type: application/octet-stream');
    header("Content-Transfer-Encoding: Binary"); 
    header("Content-disposition: attachment; filename=\"" . basename($file_url) . "\""); 
    • Content-Type: 指定檔案類型(例如 ZIP 檔案的 application/zip)。
    • Content-傳輸編碼: 確保傳輸二進位資料
    • Content-disposition: 設定「附件」選項以啟動下載,並使用basename( ) 函數指定檔案名稱以從URL 中提取檔案名稱。
  2. 使用readfile():
    使用readfile()讀取檔案內容並傳送給瀏覽器:

    readfile($file_url); 
  3. 範例:
    要從「http://example.com/go.exe」下載名為「go.exe」的文件,請使用以下指令碼:

    $file_url = 'http://example.com/go.exe';
    header('Content-Type: application/octet-stream');
    header("Content-Transfer-Encoding: Binary"); 
    header("Content-disposition: attachment; filename=\"" . basename($file_url) . "\""); 
    readfile($file_url); 

附加說明:

  • 確保根據文件類型設定適當的Content-Type 標頭。
  • 使用標頭(位置)觸發下載可能會導致執行停止,而不是頁面停止重定向。

以上是如何使用 PHP 強制下載檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn