PHP マニュアル
前のページ |  | 次のページ

# get_browser

(PHP 3, PHP 4, PHP 5)

get_browser -- ユーザのブラウザの機能を取得する

## 説明

mixed get_browser ( [string user_agent [, bool return_array]] )

get_browser() は、ユーザのブラウザの機能を 定義します。これは、`browscap.ini` ファイルの ブラウザ情報を調べることにより行います。

デフォルトでは、HTTP User-Agent ヘッダの値が使用されます。しかし、 オプションの user_agent パラメータを get_browser() に渡すことにより、これを変える (すなわち、他のブラウザの情報を調べる)ことが可能です。 `NULL` を指定することで user_agent パラメータを処理しないようにできます。

返される情報はオブジェクト（object）であり、例えば ブラウザのメジャーおよびマイナーバージョン番号や ID 文字列といった 様々なデータ要素を含んでいます。また、フレーム、JavaScript、 クッキーのような機能に関する `TRUE`/`FALSE` の値も含んでいます。

PHP 4.3.2 以降、オプションのパラメータ return_array が `TRUE` の場合には、この関数は object ではなく array を返します。

例 1. ユーザのブラウザについてのすべての情報を表示する

`<?php echo $_SERVER['HTTP_USER_AGENT'] . "\n\n"; $browser = get_browser(null, true); print_r($browser); ?>`

上の例の出力は、たとえば 以下のようになります。

    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040803 Firefox/0.9.3

    Array
    (
        [browser_name_regex] => ^mozilla/5\.0 (windows; .; windows nt 5\.1; .*rv:.*) gecko/.* firefox/0\.9.*$
        [browser_name_pattern] => Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:*) Gecko/* Firefox/0.9*
        [parent] => Firefox 0.9
        [platform] => WinXP
        [browser] => Firefox
        [version] => 0.9
        [majorver] => 0
        [minorver] => 9
        [css] => 2
        [frames] => 1
        [iframes] => 1
        [tables] => 1
        [cookies] => 1
        [backgroundsounds] =>
        [vbscript] =>
        [javascript] => 1
        [javaapplets] => 1
        [activexcontrols] =>
        [cdf] =>
        [aol] =>
        [beta] => 1
        [win16] =>
        [crawler] =>
        [stripper] =>
        [wap] =>
        [netclr] =>
    )

cookies の値は、単にそのブラウザがクッキーを扱う機能を 有していることを示すだけであり、ユーザがクッキーを受け入れる設定に しているかどうかを表すものではありません。それをチェックする唯一の方法は、 いったん setcookie() でクッキーを設定してからリロードし、 その値を調べることです。

> 注意: この関数が正常に機能するためには、`php.ini` の browscap 設定が、システム上の `browscap.ini` の正確な位置を 指している必要があります。

> `browscap.ini` は PHP にはバンドルされていません。 しかし、ここで 最新の php_browscap.ini を入手することができます。

> `browscap.ini` は多くのブラウザに関する情報を 有していますが、データベースを最新に保つのはユーザーによる更新に 依存しています。 ファイルのフォーマット自体を見ればおおよそのことがわかります。

前のページ | ホーム | 次のページ
exit | 上に戻る | __halt_compiler