問題:
如何存取任何HTTP 標頭,包括自訂標頭標頭,在PHP?
答案:
PHP中有多種讀取請求標頭的方法,取決於您的特定要求:
單一標頭檢索:
如果您只需要檢索單一標頭值,請使用下列語法:
<?php // Replace XXXXXX_XXXX with the name of the header you need in UPPERCASE (and with '-' replaced by '_') $headerStringValue = $_SERVER['HTTP_XXXXXX_XXXX']; ?>
Apache 模組或FastCGI (PHP 5.4 ):
如果 PHP 作為 Apache 模組運行或在 PHP 5.4 或更高版本中使用 FastCGI ,您可以使用apache_request_headers()函數:
<?php $headers = apache_request_headers(); foreach ($headers as $header => $value) { echo "$header: $value <br />\n"; } ?>
後備方法:
在所有其他情況下,您可以使用下列使用者態實作:
<?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"; } ?>
附加函數:
以上是如何在 PHP 中存取任何 HTTP 請求標頭?的詳細內容。更多資訊請關注PHP中文網其他相關文章!