Bagaimana untuk Muat Turun Terus Fail dari FTP ke Pelayar Pengguna dalam PHP tanpa Storan Cakera?

Susan Sarandon
Lepaskan: 2024-11-02 12:03:30
asal
485 orang telah melayarinya

How to Directly Download Files from FTP to User's Browser in PHP without Disk Storage?

Memuat Turun Fail melalui Skrip PHP dari FTP ke Penyemak Imbas tanpa Storan Cakera

Menggunakan PHP, fail boleh diambil dengan cekap daripada pelayan FTP. Walau bagaimanapun, bagaimana jika objektifnya adalah untuk menghantar fail terus ke penyemak imbas pengguna, memintas storan cakera setempat?

Kaedah Tanpa Penimbalan Output:

Untuk mencapai ini, hanya alih keluar fungsi penimbalan output (ob_start() dan rakan sejawatannya):

<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, ikuti langkah berikut:

  1. Soal saiz fail menggunakan ftp_size().
  2. Tetapkan pengepala HTTP untuk jenis kandungan, pelupusan dan panjang.
  3. Gunakan ftp_get() untuk dapatkan semula fail terus ke penyemak imbas.

Contoh Kod:

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

Nota Tambahan:

  • Ingat untuk mengendalikan ralat dengan betul.
  • Untuk gambaran keseluruhan komprehensif pengendalian fail FTP, rujuk dokumentasi "Senarai dan Muat Turun Fail Diklik daripada FTP".

Atas ialah kandungan terperinci Bagaimana untuk Muat Turun Terus Fail dari FTP ke Pelayar Pengguna dalam PHP tanpa Storan Cakera?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!