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

如何使用'header()”強制 PHP 檔案下載?

DDD
發布: 2024-12-04 14:54:10
原創
257 人瀏覽過

How to Force File Downloads with PHP Using `header()`?

使用header() 使用PHP 強制下載檔案

1.問題:

您嘗試讓使用者從您的問題:

您嘗試讓使用者從您的問題:

您嘗試讓使用者從您的伺服器下載文件,但文件沒有提示「另存為」對話框。

2.原因:

標頭中的內容類型聲明不正確。

header('Content-Type: application/octet-stream');
登入後複製

3.解決方案:

確保將內容類型標頭設定為 application/octet-stream以進行檔案下載:
  • 4.其他提示:
  • 使用addcslashes 函數來保護檔案名稱免受可能破壞標題的字元的影響。
使用 Content-Disposition 為下載的檔案設定特定的檔案名稱:依戀;檔案名稱=;標頭。

使用 Content-Length 標頭指定內容長度。

新增標頭以防止快取並確保檔案被保存而不是顯示在瀏覽器中。
$quoted = sprintf('"%s"', addcslashes(basename($file), '"\'));
$size = filesize($file);

header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . $quoted);
header('Content-Transfer-Encoding: binary');
header('Connection: Keep-Alive');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . $size);
readfile($file);
登入後複製
5。範例程式碼:

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板