Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah saya boleh memuat turun fail dari pelayan FTP terus ke penyemak imbas tanpa menggunakan storan tempatan?
Memuat turun Fail dari Pelayan FTP ke Penyemak Imbas tanpa Storan Setempat
Apabila memuat turun fail daripada pelayan FTP menggunakan skrip PHP, adalah amalan biasa untuk menyimpan fail sementara pada pelayan web sebelum menghantarnya ke penyemak imbas pengguna. Walau bagaimanapun, pendekatan ini boleh menjadi tidak cekap.
Dapatkan Kandungan Fail Tanpa Menyimpan
Untuk menghantar terus fail ke penyemak imbas tanpa menyimpannya ke cakera, hanya alih keluar penimbalan output fungsi (ob_start() dan ob_get_contents()). Kod ini akan menghantar fail terus ke strim output:
<code class="php">ftp_get($conn_id, "php://output", $file, FTP_BINARY);</code>
Menambah Pengepala Panjang Kandungan
Untuk memasukkan pengepala Panjang Kandungan, tanya saiz fail menggunakan ftp_size() sebelum memuat turun:
<code class="php">$file_path = "remote/path/file.zip"; $size = ftp_size($conn_id, $file_path);</code>
Kemudian, tetapkan pengepala yang sesuai dan muat turun fail:
<code class="php">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>
Pertimbangan Tambahan
Ingat untuk mengendalikan ralat dan memberikan maklumat fail yang betul dalam pengepala respons, termasuk nama fail untuk dimuat turun. Untuk panduan komprehensif, rujuk sumber yang dipautkan. Dengan menggunakan teknik ini, anda boleh memuat turun fail daripada pelayan FTP dengan cekap terus ke penyemak imbas, tanpa memerlukan storan sementara.
Atas ialah kandungan terperinci Bagaimanakah saya boleh memuat turun fail dari pelayan FTP terus ke penyemak imbas tanpa menggunakan storan tempatan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!