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

Mary-Kate Olsen
Lepaskan: 2024-11-04 15:01:01
asal
717 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan