ホームページ  >  記事  >  バックエンド開発  >  httpリクエストのヘッダー情報を取得するためのPHP実装手順

httpリクエストのヘッダー情報を取得するためのPHP実装手順

PHP中文网
PHP中文网オリジナル
2017-03-21 15:56:542195ブラウズ

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"; 
} 
?>

ただし、この関数は Apache 環境でのみ使用できます。iis または nginx ではサポートされていません。カスタム関数

<?php 
if (!function_exists(&#39;getallheaders&#39;)) 
{ 
    function getallheaders() 
    { 
       foreach ($_SERVER as $name => $value) 
       { 
           if (substr($name, 0, 5) == &#39;HTTP_&#39;) 
           { 
               $headers[str_replace(&#39; &#39;, &#39;-&#39;, ucwords(strtolower(str_replace(&#39;_&#39;, &#39; &#39;, 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

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