ブラウザの種類を表示
そふぃのPHP入門 >> サンプルスクリプト >> Tips >> ブラウザの種類を表示

ブラウザの種類を表示

ブラウザ情報の取得
  • $_SERVER['HTTP_USER_AGENT']

$_SERVER変数でブラウザ情報を取得

$_SERVER」とはもともとPHPに組み込まれている変数でサーバの情報を取得するためのものです。配列形式の変数になっていますが、値に"HTTP_USER_AGENT"と入れる事でクライアントのブラウザ情報が取得できます。 この他に、代表的なものでは"REMOTE_ADDR""HTTP_REFERER"などがあります。REMOTE_ADDRはクライアントのIPアドレス、HTTP_REFERERはどのページから来たかを取得します。

現在のメジャーなブラウザはほとんど"HTTP_USER_AGENT"を定義してサーバに送信していますので、ほとんどの情報は取得する事ができると思います。注意したいのは、この"HTTP_USER_AGENT"の情報を簡単に変換してしまえるようなソフトもあるという事です。(例えばオペラとか・・・。)この"HTTP_USER_AGENT"はあくまでクライアントソフト側で定義されるものつまり、ブラウザなどに依存するという事だけ覚えておいて下さい。

参考 サーバ変数

サンプルスクリプト

ブラウザ情報の取得はブラウザによって処理を振り分けるスクリプトの基本です。今回は簡単にブラウザ情報を取得して表示させるだけのスクリプトです。クライアントが使っているブラウザの種類を表示させます。

ブラウザ情報を取得して表示

  1. <?php
  2. // ブラウザ情報を取得して変数化
  3. $user_agent = $_SERVER['HTTP_USER_AGENT'];
  4.  
  5. // 取得したブラウザ情報を表示
  6. echo "--あなたがお使いのブラウザ--<br />\n";
  7. echo $user_agent;
  8. ?>

出力結果

--あなたがお使いのブラウザ--
CCBot/2.0 (http://commoncrawl.org/faq/)

処理の流れとしては

  1. 変数「$user_agent」にブラウザ情報を代入。
  2. あとは好みの文字列と
  3. 変数「$user_agent」を出力。

お使いのブラウザが表示されたでしょうか?"HTTP_USER_AGENT"の値がなければ表示されません。ブラウザがどのような値を返してくるかはある程度決まっていますのでこれを応用してブラウザ判別などのスクリプトを組みます。