Apabila pengguna meminta fail daripada skrip PHP, penghantaran fail dengan cekap menjadi penting. Begini cara untuk melakukannya dengan berkesan:
Fungsi PHP readfile() menyediakan cara yang mudah untuk menghantar fail kepada pengguna. Ia membaca fail daripada pelayan dan mengeluarkannya ke penyemak imbas.
Sintaks:
readfile($file);
Contoh:
$file = 'myfile.pdf'; if (file_exists($file)) { readfile($file); exit; }
Untuk memastikan fail dihantar dengan betul, ia penting untuk mengkonfigurasi pengepala HTTP yang sesuai. Secara lalai, readfile() menghantar fail sebagai sebaris dan bukannya menggesa penyemak imbas untuk memuat turunnya.
header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename='.basename($file)); header('Content-Transfer-Encoding: binary'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); header('Content-Length: ' . filesize($file));
Pengepala ini menentukan perihalan, jenis, pelupusan fail (lampiran atau sebaris), pengekodan pemindahan dan lain-lain maklumat penting untuk muat turun fail yang betul.
Dengan menggabungkan readfile() dengan konfigurasi pengepala yang sesuai, anda boleh menghantar PDF atau fail lain dengan cekap kepada pengguna apabila permintaan mereka.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghantar Fail dengan Cekap kepada Pengguna Menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!