get_browser
(PHP 4, PHP 5, PHP 7, PHP 8)
get_browser — 獲取瀏覽器具有的功能
說明
通過查詢 browscap.ini 檔案中的瀏覽器資訊,嘗試檢測使用者的瀏覽器所具有的功能。
參數
-
user_agent
-
要分析的使用者代理。預設使用HTTP頭中User-Agent的值,不過,你可以通過傳遞該參數改變User-Agent。(比如查詢另一個瀏覽器的資訊)
你可以傳遞一個
null
來忽略該參數。 -
return_array
-
如果設定為
true
,該函式會返回一個 array,而不是 object。
返回值
資訊會以包含一系列數據的陣列或者對像返回。例如:瀏覽器的主版本號、次版本號和ID字串;框架、JavaScript、cookies等功能是否支援 true
/false
的值。
cookies
的值僅意味著瀏覽器是否具有接收cookies的功能,不代表使用者是否已允許啟用cookies。
測試的唯一辦法,只有通過 setcookie() 設定一個cookie,重新整理頁面並檢測該cookie的值。
範例
示例 #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 [cssversion] => 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] => )
註釋
注意:
爲了能讓該函式運作,在 php.ini 中配置的 browscap 必須指向 browscap.ini 檔案的正確位置。
browscap.ini 並未內建在PHP中,不過你可以在這裡找到最新的 » php_browscap.ini。
browscap.ini 包含的諸多瀏覽器資訊依賴於使用者更新該數據庫。該檔案的格式不言自明。