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