ユーザーのブラウザサーバー側を識別するには、$_SERVER['HTTP_USER_AGENT']
変数を解析する必要があります...
...または、おそらくより良いget_browser
関数を使用します-php.iniで何かを構成する必要があることに注意してください。そうしないと、この種の警告が表示されます。
Warning: get_browser() [function.get-browser]: browscap ini directive not set
PHPのマニュアルページのように:
注:これを機能させるには、php.iniのbrowscap構成設定が、システム上のbrowscap.iniファイルの正しい場所を指している必要があります。browscap.iniはPHPにバンドルされていませんが、最新の» php_browscap.ini
ファイルがここにあります。
browscap.iniには多くのブラウザに関する情報が含まれていますが、データベースを最新の状態に保つためにユーザーの更新に依存しています。ファイルの形式はかなり自明です。
そのファイルをダウンロードし、この行をphp.iniに追加した後:
browscap = /home/squale/developpement/tests/temp/php_browscap.ini
コードの次の部分:
var_dump(get_browser(null, true));
私に与える:
array
'browser_name_regex' => string '^mozilla/5\.0 (x11; .*linux.*; .*rv:1\.9.*) gecko/.*$' (length=53)
'browser_name_pattern' => string 'Mozilla/5.0 (X11; *Linux*; *rv:1.9*) Gecko/*' (length=44)
'parent' => string 'Mozilla 1.9' (length=11)
'platform' => string 'Linux' (length=5)
'browser' => string 'Mozilla' (length=7)
'version' => string '1.9' (length=3)
'majorver' => string '1' (length=1)
'minorver' => string '9' (length=1)
'alpha' => string '1' (length=1)
'frames' => string '1' (length=1)
'iframes' => string '1' (length=1)
'tables' => string '1' (length=1)
'cookies' => string '1' (length=1)
'javaapplets' => string '1' (length=1)
'javascript' => string '1' (length=1)
'cssversion' => string '2' (length=1)
'supportscss' => string '1' (length=1)
'beta' => string '' (length=0)
'win16' => string '' (length=0)
'win32' => string '' (length=0)
'win64' => string '' (length=0)
'backgroundsounds' => string '' (length=0)
'cdf' => string '' (length=0)
'vbscript' => string '' (length=0)
'activexcontrols' => string '' (length=0)
'isbanned' => string '' (length=0)
'ismobiledevice' => string '' (length=0)
'issyndicationreader' => string '' (length=0)
'crawler' => string '' (length=0)
'aol' => string '' (length=0)
'aolversion' => string '0' (length=1)
Firefox3.5で; と :
array
'browser_name_regex' => string '^.*$' (length=4)
'browser_name_pattern' => string '*' (length=1)
'browser' => string 'Default Browser' (length=15)
'version' => string '0' (length=1)
'majorver' => string '0' (length=1)
'minorver' => string '0' (length=1)
'platform' => string 'unknown' (length=7)
'alpha' => string '' (length=0)
....
'aol' => string '' (length=0)
'aolversion' => string '0' (length=1)
Linux用のグーグルクロームの最近のバージョン(4.0.203.2)では-まあ、それはある種のナイトリービルドであることを考えると、それが認識されないのは正常だと思います...
参考までに、これがユーザーエージェント文字列です。
string 'Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/4.0.203.2 Safari/532.0' (length=109)
このショーはget_nice browser is
; しかし、最先端のテストブラウザには完璧ではないかもしれません。それでも、ほとんどの「一般的な」ブラウザでは問題なく動作するはずです。