PHP マニュアルには、既成の関数が提供されています。
getallheaders
(PHP 4, PHP 5)
getallheaders — すべての HTTP リクエスト ヘッダーを取得します
説明
array getallheaders (void)
現在のリクエストからすべての HTTP ヘッダーを取得します。関数は apache_request_headers() のエイリアスです。この関数の動作の詳細については、apache_request_headers() のドキュメントを参照してください。
現在のリクエスト内のすべての HTTP ヘッダーの連想配列。
例 1 getallheaders。 ( ) 例
<?php foreach (getallheaders() as $name => $value) { echo "$name: $value\n"; } ?>
<?php if (!function_exists('getallheaders')) { function getallheaders() { foreach ($_SERVER as $name => $value) { if (substr($name, 0, 5) == 'HTTP_') { $headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value; } } return $headers; } } ?>
を使用して実装できます。それでは、何が出力されるかを見てみましょう
<?php print_r(getallheaders());
結果:
Array ( [Accept] => */* [Accept-Language] => zh-cn [Accept-Encoding] => gzip, deflate [User-Agent] => Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727) [Host] => localhost [Connection] => Keep-Alive )
関連記事: httpリクエストのヘッダー情報を取得する
phpメソッドphp HTTPリクエストクラス、GET、POST、Multipart/form-dataをサポートhttpリクエストのカプセル化の実装例by php