array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'zh', ), 'this' => array ( 0 => 'function.get-browser.php', 1 => 'get_browser', ), 'up' => array ( 0 => 'ref.misc.php', 1 => '杂项 函数', ), 'prev' => array ( 0 => 'function.exit.php', 1 => 'exit', ), 'next' => array ( 0 => 'function.halt-compiler.php', 1 => '__halt_compiler', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'zh', 'path' => 'reference/misc/functions/get-browser.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
get_browser — 获取浏览器具有的功能
通过查找 browscap.ini 文件中的浏览器信息,尝试检测用户的浏览器所具有的功能。
信息会以包含一系列数据的数组或者对象返回。例如:浏览器的主版本号、次版本号和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 包含的诸多浏览器信息依赖于用户更新该数据库。该文件的格式不言自明。