來識別用戶的瀏覽器的服務器端,你必須解析$_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)
f上的
irefox 3.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)
在最近的谷歌瀏覽器的版本(4.0.203.2)用於Linux的 - 嗯,認爲這是某種每晚構建的,我想這是正常的,它不承認...
作爲參考,這裏是它的用戶代理字符串:
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_ browser is
美觀大方;但也許不是完美的一些尖端測試瀏覽器 - 儘管如此,能很好地工作最「普通」的瀏覽器,我想...
完全偏離主題的語法挑剔:*你;) – Amber 2009-09-03 09:18:12
謝謝,通常我很好。嘿。猜猜我滑倒了。 – user 2009-09-03 09:27:02