首頁 > 後端開發 > php教程 > 如何在 PHP 中存取任何 HTTP 請求標頭?

如何在 PHP 中存取任何 HTTP 請求標頭?

Susan Sarandon
發布: 2024-12-14 14:43:10
原創
165 人瀏覽過

How Can I Access Any HTTP Request Header in PHP?

如何在PHP 中讀取任何請求標頭

問題:

如何存取任何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";
}
?>
登入後複製

附加函數:

  • getallheaders() (PHP 5.4 ):apache_request_headers() 的別名。
  • apache_response_headers():取得所有 HTTP 回應標頭。
  • headers_list():取得要新增的標題清單已傳送。

以上是如何在 PHP 中存取任何 HTTP 請求標頭?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板