Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich in PHP auf jeden HTTP-Request-Header zugreifen?
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:
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!