Javascript可以透過navigator物件就輕鬆取得瀏覽器的資訊,但是PHP比較麻煩多了,一般來說雖然可以從$_SERVER['HTTP_USER_AGENT']取得相關的資訊字串如下:

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

但是事實你可能不想要那麼長的資訊,只是想要單純的知道,他是Firefox還是IE或是其它Broswer就好,項多再加個版本。不過要剖析這個字串實在令人頭大,因為不同Broswer的,他所出現的字串資訊都不一樣。後來拜google大仙,才知道PHP原來有一個函式叫get_broswer老早就把我所擔心的事解決了!

//取得瀏覽器資訊
$browser = get_browser(null, true);
//組合自己想要的資訊
echo $browser['browser'].($browser['version']);
//輸出結果為:Firefox(0.9.3)

$browser陣列事實上還有多個可選用的索引,詳情就直接參考官方的get_broswer便可得知了。

正高興得到這個函式,一件令人失望的事情發生了!從官方資訊得知:

Attempts to determine the capabilities of the user's browser, by looking up the browser's information in the browscap.ini file.

喔,該死!這意味著我必需在browscap.ini有啟動的狀況下才能使用這個函式。第二個該死的是資訊所要求的環境又剛好沒有(被限制開啟這個browscap.ini的狀況)。天啊~怎麼辦= =|||,再度的拜請google大仙了。

呼~果然大仙一出手,便知有沒有,讓我幸運的找到這個函式庫phpSniff,真是太棒了!!使用的方法在網站首頁就清楚的列出來了

//載入phpSniff類別
include_once('phpSniff.class.php');
//建立資訊物件
$clinet = new phpSniff();
//組合自己想要的資訊
echo $clinet->long_name.($clinet->version);
//輸出結果為:Firefox(0.9.3)

這個類別的授權是LGPL license,呼= =,好險不是GPL,不然就真是太可惜了

低溫烘培 發表在 痞客邦 PIXNET 留言(0) 人氣()