透過 PHP 腳本從 FTP 下載檔案到瀏覽器,無需磁碟儲存
使用 PHP,可以從 FTP 伺服器有效地擷取檔案。但是,如果目標是繞過本機磁碟儲存直接將檔案傳遞到使用者的瀏覽器呢?
沒有輸出緩衝的方法:
要實現這一點,只需簡單地刪除輸出緩衝函數(ob_start() 及其對應函數):
<code class="php">ftp_get($conn_id, "php://output", $file, FTP_BINARY);</code>
新增Content-Length 標頭:
要包含Content-Length 標頭,請執行下列這些步驟:
程式碼範例:
<code class="php">$conn_id = ftp_connect("ftp.example.com"); ftp_login($conn_id, "username", "password"); ftp_pasv($conn_id, true); $file_path = "remote/path/file.zip"; $size = ftp_size($conn_id, $file_path); header("Content-Type: application/octet-stream"); header("Content-Disposition: attachment; filename=" . basename($file_path)); header("Content-Length: $size"); ftp_get($conn_id, "php://output", $file_path, FTP_BINARY);</code>
附加說明:
以上是如何在 PHP 中直接從 FTP 下載檔案到使用者的瀏覽器而不需要磁碟儲存?的詳細內容。更多資訊請關注PHP中文網其他相關文章!