PHP ialah bahasa sebelah pelayan yang sangat popular dengan banyak fungsi berguna. Salah satu keperluan biasa ialah mengalih keluar maklumat pengepala HTTP. Pengepala HTTP ialah maklumat yang disertakan pada permulaan permintaan atau respons HTTP. Ia mengandungi banyak data berguna, seperti: status respons, jenis pelayan, tarikh, kuki, dsb.
Walau bagaimanapun, kadangkala kami perlu mengalih keluar maklumat pengepala HTTP dalam program PHP Ini mungkin kerana kami perlu memuat turun fail besar dengan cepat atau mengendalikan beberapa permintaan yang rumit dalam program. Walau apa pun sebabnya, berikut ialah beberapa cara untuk mengalih keluar maklumat pengepala HTTP:
Kaedah 1: Gunakan pengepala fungsi terbina dalam PHP()
PHP menyediakan pengepala fungsi terbina dalam yang popular() HTTP tajuk boleh dihantar. Kita boleh menggunakan fungsi pengepala() untuk menghantar pengepala HTTP kosong untuk mengalih keluar semua maklumat pengepala HTTP. Kod tersebut adalah seperti berikut:
header('Content-Type: '); header('Content-Disposition: attachment; filename=file.zip'); header('Content-Length: ' . filesize($file)); readfile($file);
Kod ini akan mengeluarkan pengepala Jenis Kandungan kosong, pengepala Panjang Kandungan dan pengepala Pelupusan Kandungan. Seterusnya, gunakan fungsi readfile() untuk membaca kandungan daripada fail dan mengeluarkannya.
Kaedah 2: Gunakan perpustakaan cURL
cURL ialah pustaka klien yang popular dalam PHP, yang boleh digunakan untuk menghantar permintaan HTTP dan mendapatkan respons. Dengan menggunakan perpustakaan cURL, kami boleh menghantar permintaan HTTP HEAD untuk mendapatkan hanya metadata fail dan bukan kandungan sebenar.
$ch = curl_init('http://example.com'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_NOBODY, true); $response = curl_exec($ch); $header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE); $header = substr($response, 0, $header_size); curl_close($ch); echo $header;
Dalam kod ini, kami mula-mula mencipta pemegang cURL menggunakan fungsi curl_init() dan masukkan URL. Kemudian kami menetapkan beberapa pilihan untuk memberitahu cURL bahawa kami hanya mahu mendapatkan maklumat pengepala HTTP. Apabila melaksanakan fungsi curl_exec(), cURL akan menghantar permintaan HTTP HEAD dan mengembalikan respons. Kami mendapat maklumat pengepala HTTP daripada respons dan mengeluarkannya.
Kaedah 3: Gunakan modul mod_headers Apache
Jika anda menggunakan Apache sebagai pelayan web, anda boleh menggunakan modul mod_headersnya untuk mengubah suai secara langsung pengepala HTTP. Ini memerlukan anda mempunyai kebenaran untuk mengedit fail konfigurasi Apache. Tambahkan kod berikut pada fail httpd.conf:
<FilesMatch "index.php"> Header unset Server Header unset X-Powered-By Header unset Transfer-Encoding Header unset Content-Length </FilesMatch>
Kod ini akan sepadan dengan semua fail index.php dan mengalih keluar empat pengepala HTTP: Server, X-Powered-By, Transfer-Encoding dan Content-Length .
Ringkasan
Sama ada menggunakan fungsi pengepala() PHP, pustaka cURL atau modul mod_headers Apache, kami boleh mengalih keluar maklumat pengepala HTTP dengan mudah. Helah kecil ini berguna apabila menulis aplikasi web atau memproses data.
Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar maklumat pengepala http dalam php? Analisis ringkas kaedah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!