PHP get_browser()返回奇怪的值
我想使用:PHP get_browser()返回奇怪的值,php,browser,Php,Browser,我想使用: public function BrowserCheck() { static $Browser; if(!isset($Browser)){ $Browser = get_browser($_SERVER['HTTP_USER_AGENT'],true); } return $Browser; } 如上所述,但不知何故,var_dump($Result);将只输出奇怪的值: array(30)
public function BrowserCheck() {
static $Browser;
if(!isset($Browser)){
$Browser = get_browser($_SERVER['HTTP_USER_AGENT'],true);
}
return $Browser;
}
如上所述,但不知何故,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版本!并将php_browscap.ini重命名为browscap.ini
public function BrowserCheck() {
static $Browser;
if(!isset($Browser)){
$Browser = $browser = get_browser(null, true);
}
return $Browser;
}
不要使用$\u服务器['HTTP\u用户\u代理]
。get_browser函数默认返回浏览器信息
尝试上面的代码。检查php.ini中是否启用了browscap,如果未启用,请重新启动appache
public function BrowserCheck() {
static $Browser;
if(!isset($Browser)){
//You can bypass $_SERVER['HTTP_USER_AGENT'] parameter with a NULL value.
//you will get right result.
$Browser = $browser = get_browser(null, true);
}
return $Browser;
}
Try this code.
[browscap]
; http://php.net/browscap
browscap = "C:\xampp\php\extras\browscap.ini"
如果已经存在,请检查位置中是否存在“browscap.ini”,如果不存在
下载并添加到路径我遇到了类似的问题,如果您在Windows上使用Xampp或Wamp服务器,那么这就是解决方案
full\u php\u browser.ini
(38 MB)browscap.ini
,并将其放入C:\xampp\php\extras\
中php.ini
并添加-
[browscap]
;http://php.net/browscap
browscap = "C:\xampp\php\extras\browscap.ini"
它肯定会起作用。什么是
$Result
?上面的代码中没有提到,您是否阅读了底部的browscap注释:browscap ini设置需要一个源来识别浏览器;没有它,就不能保证浏览器会被识别。另请参阅相关问题和答案:另外,请注意get\u browser()
取决于格式良好的用户代理。试着打印出来看看你的服务器是否正确地报告了它。在你的php中启用browscap。iniI已经这样做了。。。即使是最新的browscap.ini也没有给我任何其他结果。