此問題尋求一種從FTP 伺服器擷取檔案並直接傳送到使用者瀏覽器的有效方法,繞過本地儲存和重定向。
提供的 PHP 函數 getFtpFileContents 將檔案提取到記憶體中但需要後續手動步驟將其傳送到瀏覽器。若要消除中間儲存的需要,只需刪除輸出緩衝程式碼:
<code class="php">ftp_get($conn_id, "php://output", $file, FTP_BINARY);</code>
如果您希望包含Content-Length 標頭,則需要先查詢檔案大小:
<code class="php">$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>
請記住將錯誤處理合併到程式碼中以實現穩健的操作。
以上是如何將 FTP 檔案直接傳輸到瀏覽器而不保存在本機?的詳細內容。更多資訊請關注PHP中文網其他相關文章!