Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mengakses Mana-mana Pengepala Permintaan HTTP dalam PHP?

Bagaimanakah Saya Boleh Mengakses Mana-mana Pengepala Permintaan HTTP dalam PHP?

Susan Sarandon
Susan Sarandonasal
2024-12-14 14:43:10168semak imbas

How Can I Access Any HTTP Request Header in PHP?

Cara Membaca Sebarang Pengepala Permintaan dalam PHP

Masalah:

Bagaimana anda boleh mengakses mana-mana pengepala HTTP, termasuk tersuai pengepala, dalam PHP?

Jawapan:

Terdapat beberapa kaedah untuk membaca pengepala permintaan dalam PHP, bergantung pada keperluan khusus anda:

Pengepala Tunggal Retrieval:

Jika anda hanya perlu mendapatkan satu nilai pengepala, gunakan yang berikut sintaks:

<?php
// Replace XXXXXX_XXXX with the name of the header you need in UPPERCASE (and with '-' replaced by '_')
$headerStringValue = $_SERVER['HTTP_XXXXXX_XXXX'];
?>

Modul Apache atau FastCGI (PHP 5.4 ):

Jika PHP berjalan sebagai modul Apache atau menggunakan FastCGI dengan PHP 5.4 atau lebih baru, anda boleh menggunakan apache_request_headers() fungsi:

<?php
$headers = apache_request_headers();

foreach ($headers as $header => $value) {
    echo "$header: $value <br />\n";
}
?>

Kaedah Fallback:

Dalam semua kes lain, anda boleh menggunakan pelaksanaan userland berikut:

<?php
function getRequestHeaders() {
    $headers = array();
    foreach($_SERVER as $key => $value) {
        if (substr($key, 0, 5) != 'HTTP_') {
            continue;
        }
        $header = str_replace(' ', '-', ucwords(str_replace('_', ' ', strtolower(substr($key, 5)))));
        $headers[$header] = $value;
    }
    return $headers;
}

$headers = getRequestHeaders();

foreach ($headers as $header => $value) {
    echo "$header: $value <br />\n";
}
?>

Fungsi Tambahan:

  • getallheaders() (PHP 5.4 ): Alias ​​apache_request_headers().
  • apache_response_headers(): Mengambil semua pengepala respons HTTP.
  • headers_list(): Mengambil senarai pengepala untuk dihantar.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Mana-mana Pengepala Permintaan HTTP dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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