PHP get_browser() 返回奇怪的值

标签 php browser

我想使用:

public function BrowserCheck() {
        static $Browser;
        if(!isset($Browser)){
            $Browser = get_browser($_SERVER['HTTP_USER_AGENT'],true);
        }
        return $Browser;
}

根据 http://de3.php.net/manual/de/function.get-browser.php 上的建议, 但不知何故 var_dump($Result);只会输出奇怪的值:

array(30) {
["browser_name_regex"]=>
string(6) "§^.*$§"
["browser_name_pattern"]=>
string(1) "*"
["browser"]=>
string(15) "Default Browser"
["version"]=>
string(1) "0"
["majorver"]=>
string(1) "0"
["minorver"]=>
string(1) "0"
["platform"]=>
string(7) "unknown"
["alpha"]=>
string(0) ""
["beta"]=>
string(0) ""
["win16"]=>
string(0) ""
["win32"]=>
string(0) ""
["win64"]=>
string(0) ""
["frames"]=>
string(1) "1"
["iframes"]=>
string(0) ""
["tables"]=>
string(1) "1"
["cookies"]=>
string(0) ""
["backgroundsounds"]=>
string(0) ""
["cdf"]=>
string(0) ""
["vbscript"]=>
string(0) ""
["javaapplets"]=>
string(0) ""
["javascript"]=>
string(0) ""
["activexcontrols"]=>
string(0) ""
["isbanned"]=>
string(0) ""
["ismobiledevice"]=>
string(0) ""
["issyndicationreader"]=>
string(0) ""
["crawler"]=>
string(0) ""
["cssversion"]=>
string(1) "0"
["supportscss"]=>
string(0) ""
["aol"]=>
string(0) ""
["aolversion"]=>
string(1) "0"
}

为什么?我正在使用 Chrome,它只返回一些“§^.*$§”作为找到的名称?这不可能是真的……这里有什么问题吗?

最佳答案

此函数使用来自 browscap.ini 文件的信息。这可能不是最好的解决方案,因为文件无法始终保持最新。尝试只获取用户代理并通过正则表达式确定名称。

关于PHP get_browser() 返回奇怪的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16336932/

相关文章:

php - .htaccess 身份验证 w/friendly url

php - 比较两个大文件需要四个多小时

php - 始终显示最接近的百分位数字

security - 内容未知的图片: Dangerous for a browser?

html - 基于浏览器引擎应用CSS?

javascript - 如何让 window.focus() 在 firefox 中工作

php - 重定向 URL 形式

php - 单页javascript发送数据并通过php从mysql提取数据?

javascript - 浏览器加载内容 onScroll 多少算多了?

javascript - 如何将 Skype 与浏览器连接