PHP でリクエスト ヘッダーを読み取るにはどうすればいいですか? 質問する

PHP でリクエスト ヘッダーを読み取るにはどうすればいいですか? 質問する

PHP でヘッダーを読み取るにはどうすればよいですか?

たとえば、カスタム ヘッダー: X-Requested-With

ベストアンサー1

IF :すべてのヘッダーではなく、単一のヘッダーのみが必要な場合、最も簡単な方法は次のとおりです。

<?php
// Replace XXXXXX_XXXX with the name of the header you need in UPPERCASE (and with '-' replaced by '_')
$headerStringValue = $_SERVER['HTTP_XXXXXX_XXXX'];


それ以外の場合: PHP を Apache モジュールとして実行するか、PHP 5.4 以降では FastCGI を使用します (簡単な方法):

apache_request_headers()

<?php
$headers = apache_request_headers();

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


ELSE:それ以外の場合は、(ユーザーランド実装) を使用できます。

<?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 >= 5.4) クロスプラットフォーム版 のエイリアスapache_request_headers() apache_response_headers()- すべての HTTP 応答ヘッダーを取得します。
ヘッダーリスト()- 送信するヘッダーのリストを取得します。

おすすめ記事