ホームページ >バックエンド開発 >PHPチュートリアル >PHP でリクエスト ヘッダーにアクセスするにはどうすればよいですか?

PHP でリクエスト ヘッダーにアクセスするにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-09 09:02:07707ブラウズ

How Can I Access Request Headers in PHP?

PHP でのリクエスト ヘッダーへのアクセス

特定またはすべてのリクエスト ヘッダーの取得は、PHP 開発における一般的なタスクです。使用できるさまざまなアプローチを次に示します。

単一ヘッダーの取得 (Apache モジュールまたは FastCGI)

特定のヘッダーのみが必要な場合、最も効率的な方法は次のとおりです。 $_SERVER 配列のキーとして HTTP ヘッダー名を使用して直接アクセスします。 XXXXXX_XXXX を大文字のヘッダー名に置き換えます (ハイフンはアンダースコアに置き換えられます)。

// Retrieve the "X-Requested-With" header value
$headerValue = $_SERVER['HTTP_X_REQUESTED_WITH'];

すべてのヘッダーの取得

Apache モジュールまたは FastCGI (単純な方法) )

apache_request_headers() 関数は、すべてのリクエスト ヘッダーへのアクセスを提供します。

$headers = apache_request_headers();

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

その他すべてのケース (ユーザーランド実装)

apache_request_headers() が使用できない場合は、次のことができます。カスタム関数を使用して $_SERVER からヘッダーを抽出しますarray.

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() の代替案platform.
  • apache_response_headers(): HTTP 応答ヘッダーを取得します。
  • headers_list(): 応答で送信されるヘッダーをリストします。

以上がPHP でリクエスト ヘッダーにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。