Pengepala HTTP untuk Muat Turun Fail: Menyelesaikan Masalah Jenis Kandungan
Muat turun fail selalunya melibatkan penetapan pengepala HTTP yang sesuai untuk memastikan penyemak imbas mengendalikan fail dengan betul . Jika fail tertentu tersilap dikenal pasti, ia mungkin disebabkan oleh ketiadaan pengepala Jenis Kandungan.
Untuk membetulkannya, ikut langkah berikut:
1. Tetapkan Pengepala Jenis Kandungan:
header('Content-Type: application/force-download');<br>
Generik ini jenis meliputi pelbagai format fail dan memaksa penyemak imbas memuat turun fail.
2. Hapuskan Penimbalan Output:
@ob_end_clean();<br>
Lumpuhkan sebarang penimbalan output untuk mengelakkan gangguan pada proses muat turun fail.
3. Cegah Cache Fail:
header('Cache-Control: private');<br>header('Pragma: private');<br>header('Tamat tempoh: Isn, 26 Jul 1997 05:00:00 GMT');<br>
Pengepala ini memastikan penyemak imbas tidak menyimpan cache fail dan memaksa muat turun baharu setiap kali.
4. Keluarkan Fail:
<br>$bytesSend = 0;<br>if($file = fopen($filePath, 'r')) {</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">if(isset($_SERVER['HTTP_RANGE'])) { ... (implementation for handling file chunks) } else { while(!feof($file) && !connection_aborted() && $bytesSend < $newLength) { ... (implementation for reading and outputting the file) } }
}
Dialog Muat Turun Tertunda:
Kelewatan ketara antara pelaksanaan skrip dan penampilan dialog muat turun mungkin disebabkan oleh:
Atas ialah kandungan terperinci Mengapa Muat Turun Fail Saya Tidak Berfungsi? Menyelesaikan masalah Pengepala HTTP untuk Muat Turun Fail. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!