Dalam skrip PHP, mengambil fail daripada pelayan FTP ialah tugas biasa. Walau bagaimanapun, menyimpan fail ini pada pelayan web sebelum menghantarnya ke penyemak imbas pengguna boleh menjadi tidak diingini. Artikel ini meneroka cara memuat turun fail daripada pelayan FTP terus ke penyemak imbas, memintas storan pelayan dan mengelakkan ubah hala.
Kod awal mendapatkan semula fail FTP ke dalam memori menggunakan ftp_get( ) dan ob_start():
<code class="php">public static function getFtpFileContents($conn_id , $file) { ob_start(); $result = ftp_get($conn_id, "php://output", $file, FTP_BINARY); $data = ob_get_contents(); ob_end_clean(); if ($resul) return $data; return null; }</code>
Untuk menstrim fail terus ke penyemak imbas tanpa menyimpannya, alih keluar penimbalan output:
<code class="php">ftp_get($conn_id, "php://output", $file, FTP_BINARY);</code>
Untuk memasukkan pengepala Panjang Kandungan, tanya saiz fail menggunakan ftp_size():
<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>
Ingat untuk melaksanakan pengendalian ralat seperti yang diperlukan. Untuk mendapatkan maklumat lanjut tentang pengendalian fail FTP, rujuk sumber seperti "Senaraikan dan muat turun fail yang diklik daripada FTP."
Atas ialah kandungan terperinci Bagaimana untuk Muat Turun Fail FTP Terus ke Pelayar dalam PHP Tanpa Storan Pelayan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!