我想使用:
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/