我需要通過php編碼檢索瀏覽器和操作系統。在PHP中檢索瀏覽器和操作系統
我用了$_SERVER['HTTP_USER_AGENT']
,但它顯示了以下
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 1.1.4322; IEMB3)
我怎麼能分開上接收到的值的瀏覽器和操作系統?
請指導我..
在此先感謝。
我需要通過php編碼檢索瀏覽器和操作系統。在PHP中檢索瀏覽器和操作系統
我用了$_SERVER['HTTP_USER_AGENT']
,但它顯示了以下
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 1.1.4322; IEMB3)
我怎麼能分開上接收到的值的瀏覽器和操作系統?
請指導我..
在此先感謝。
拿一份browscap.ini比較$ _SERVER ['HTTP_USER_AGENT']與該文件。
你可以使用簡單explode();
<?php
$ex=explode(' ',$_SERVER['HTTP_USER_AGENT']);
echo 'OS: '.$ex[4].' '.$ex[5].' '.$ex[6].'/n';
echo 'Browser: '.$ex[0];
?>
只需使用內置的功能可實現此http://ie.php.net/manual/en/function.get-browser.php
你可以使用Google code Browscap class。它基本上和PHP的get_browser()一樣,但是你不必擔心保持你的browscap.ini是最新的。
這爲我工作:
require('Browscap.php');
$browscap = new Browscap('/path/to/cache');
var_dump($browscap->getBrowser());
最好的辦法是使用BUIL式get_browser()函數,它比谷歌典版快幾十倍,如果你只是運行它一旦。 (如果你運行的谷歌代碼版本更快4倍以上)
所以,除非你需要自動更新並且一次只使用一次檢查,否則應該使用內置版本。 :)
而且它不應該很難讓一個cronjob獲得最新版本。 ;)
我只想指出,使用諸如$ _SERVER ['HTTP_USER_AGENT']之類的東西是不可靠的,因爲用戶可以隨意更改他們的UA。 – 2009-05-10 21:20:57