Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich in PHP auf jeden HTTP-Request-Header zugreifen?

Wie kann ich in PHP auf jeden HTTP-Request-Header zugreifen?

Susan Sarandon
Susan SarandonOriginal
2024-12-14 14:43:10168Durchsuche

How Can I Access Any HTTP Request Header in PHP?

So lesen Sie jeden Anforderungsheader in PHP

Problem:

Wie können Sie auf jeden HTTP-Header zugreifen, auch auf benutzerdefinierte Überschriften, in PHP?

Antwort:

Es gibt verschiedene Methoden, um Anforderungsheader in PHP zu lesen, abhängig von Ihren spezifischen Anforderungen:

Einzelner Header Abruf:

Wenn Sie nur einen einzelnen Headerwert abrufen müssen, verwenden Sie Folgendes Syntax:

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

Apache-Modul oder FastCGI (PHP 5.4):

Wenn PHP als Apache-Modul ausgeführt wird oder FastCGI mit PHP 5.4 oder höher verwendet, sind Sie kann apache_request_headers() verwenden Funktion:

<?php
$headers = apache_request_headers();

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

Fallback-Methode:

In allen anderen Fällen können Sie die folgende Userland-Implementierung verwenden:

<?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";
}
?>

Zusätzliche Funktionen:

  • getallheaders() (PHP 5.4 ): Alias ​​von apache_request_headers().
  • apache_response_headers(): Ruft alle HTTP-Antwortheader ab.
  • headers_list(): Ruft eine Liste der zu sendenden Header ab.

Das obige ist der detaillierte Inhalt vonWie kann ich in PHP auf jeden HTTP-Request-Header zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn