Paksa Muat Turun Fail dengan PHP Menggunakan Header()
Isu:
Walaupun pelbagai percubaan, pengguna mengalami kesukaran untuk menggesa muat turun fail daripada pelayan menggunakan fungsi header() PHP. Mereka memerhatikan pengepala yang diperlukan dihantar tetapi menghadapi masalah dengan memaparkan dialog simpan.
Penyelesaian:
Untuk berjaya memaksa muat turun fail, pengepala mesti ditetapkan dengan sewajarnya. Kod berikut menangani kebimbangan yang dibangkitkan:
$quoted = sprintf('"%s"', addcslashes(basename($file), '"\')); $size = filesize($file); header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename=' . $quoted); header('Content-Transfer-Encoding: binary'); header('Connection: Keep-Alive'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); header('Content-Length: ' . $size);
Perbezaan Utama daripada Percubaan Terdahulu:
Pelayar Disahkan:
Penyelesaian ini telah disahkan berfungsi dalam Firefox 8.0.1, Chrome 15.0.874.121 dan Safari 5.1.1.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memaksa Muat Turun Fail dalam PHP Menggunakan `header()` dan Mengelak Isu Paparan Pelayar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!