首頁 >後端開發 >php教程 >如何使用PHP向使用者傳送文件?

如何使用PHP向使用者傳送文件?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-10 16:53:10238瀏覽

How Can I Use PHP to Send Files to Users?

透過 PHP 腳本向使用者傳輸檔案

PHP 腳本提供了根據請求向使用者傳送檔案的功能。當遇到磁碟上儲存有 PDF 檔案的場景時,可以有效地將其傳輸給使用者。

利用 readfile()

方便檔案傳輸, PHP 提供了 readfile() 函數。該功能對於輸出文件起著至關重要的作用。光是呼叫 readfile($file) 可能還不夠。為了確保文件傳輸成功,必須定義適當的標頭。

標頭定義:

PHP 可讓您定義標頭來設定資料的傳送和接收方式。在文件傳輸的上下文中,這些標頭決定了客戶端接收文件的行為。

請參閱官方PHP 手冊中的以下示例,了解如何實現文件傳輸標頭:

<?php
$file = 'monkey.gif';

if (file_exists($file)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename='.basename($file));
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    ob_clean();
    flush();
    readfile($file);
    exit;
}
?>

附加說明

  • 確保檔案在指定的伺服器路徑。
  • 為要傳送的文件定義適當的內容類型,例如 PDF 檔案的「application/pdf」。
  • 設定 Content-Disposition 標頭以觸發下載對話方塊使用者的瀏覽器。
  • 配置快取和過期標頭以防止客戶端快取檔案沒必要。

以上是如何使用PHP向使用者傳送文件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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