Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah saya boleh memuat turun fail dari pelayan FTP terus ke penyemak imbas tanpa menggunakan storan tempatan?

Bagaimanakah saya boleh memuat turun fail dari pelayan FTP terus ke penyemak imbas tanpa menggunakan storan tempatan?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-04 15:01:01659semak imbas

How can I download files from an FTP server directly to a browser without using local storage?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn