ホームページ  >  記事  >  バックエンド開発  >  php はクライアントとサーバー関連の情報を取得します

php はクライアントとサーバー関連の情報を取得します

WBOY
WBOYオリジナル
2016-07-25 09:07:22788ブラウズ
  1. $headers = array();
  2. foreach ($_SERVER as $key => $value) {
  3. if ('HTTP_' == substr($key, 0, 5)) {
  4. $headers[str_replace('_', '-', substr($key, 5))] = $value; }
  5. }
  6. ?>
コードをコピー
説明: RFC でクリアヘッダー名では大文字と小文字が区別されないことが指摘されています。

ただし、すべての HTTP リクエスト ヘッダーが HTTP_ で始まるキーの形式で $_SERVER に存在するわけではありません。たとえば、Authorization、Content-Length、および Content-Type はこのようにはならないため、すべての HTTP リクエスト ヘッダーを取得するには、次のコードも追加する必要があります。

  1. if (isset($_SERVER['PHP_AUTH_DIGEST'])) {
  2. $header['AUTHORIZATION'] = $_SERVER['PHP_AUTH_DIGEST']);
  3. } elseif (isset($) _SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW'])) {
  4. $header['AUTHORIZATION'] = Base64_encode($_SERVER['PHP_AUTH_USER'] . ':' . $_SERVER['PHP_AUTH_PW'] ));
  5. }
  6. if (isset($_SERVER['CONTENT_LENGTH'])) {
  7. $header['CONTENT_LENGTH'] = $_SERVER['CONTENT_LENGTH']
  8. }
  9. if (isset($_SERVER[' CONTENT_TYPE'])) {
  10. $header['CONTENT-TYPE'] = $_SERVER['CONTENT_TYPE']?>
  11. コードをコピー
;
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。