ホームページ > バックエンド開発 > 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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート