get_browser

(PHP 4, PHP 5, PHP 7, PHP 8)

get_browser獲取瀏覽器具有的功能

說(shuō)明

get_browser(string $user_agent = ?, bool $return_array = false): mixed

通過(guò)查找 browscap.ini 文件中的瀏覽器信息,嘗試檢測(cè)用戶的瀏覽器所具有的功能。

參數(shù)

user_agent

要分析的用戶代理。默認(rèn)使用HTTP頭中User-Agent的值,不過(guò),你可以通過(guò)傳遞該參數(shù)改變User-Agent。(比如查找另一個(gè)瀏覽器的信息)

你可以傳遞一個(gè) null 來(lái)忽略該參數(shù)。

return_array

如果設(shè)置為 true,該函數(shù)會(huì)返回一個(gè) array,而不是 object。

返回值

信息會(huì)以包含一系列數(shù)據(jù)的數(shù)組或者對(duì)象返回。例如:瀏覽器的主版本號(hào)、次版本號(hào)和ID字符串;框架、JavaScript、cookies等功能是否支持 true/false 的值。

cookies 的值僅意味著瀏覽器是否具有接收cookies的功能,不代表用戶是否已允許啟用cookies。 測(cè)試的唯一辦法,只有通過(guò) setcookie() 設(shè)置一個(gè)cookie,刷新頁(yè)面并檢測(cè)該cookie的值。

范例

示例 #1 列出所有用戶瀏覽器的信息

<?php
echo $_SERVER['HTTP_USER_AGENT'] . "\n\n";

$browser get_browser(nulltrue);
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] =>
)

注釋

注意:

為了能讓該函數(shù)運(yùn)作,在 php.ini 中配置的 browscap 必須指向 browscap.ini 文件的正確位置。

browscap.ini 并未內(nèi)置在PHP中,不過(guò)你可以在這里找到最新的 ? php_browscap.ini。

browscap.ini 包含的諸多瀏覽器信息依賴于用戶更新該數(shù)據(jù)庫(kù)。該文件的格式不言自明。