如何使用PHP获取浏览器属性?
有很多浏览器,其中有一些共同的功能。我们如何使用PHP获得浏览器的这些公共属性如何使用PHP获取浏览器属性?,php,browser,properties,Php,Browser,Properties,有很多浏览器,其中有一些共同的功能。我们如何使用PHP获得浏览器的这些公共属性 <?php echo $_SERVER['HTTP_USER_AGENT']; $browser = get_browser(); print_r($browser); ?> 这将只提供浏览器名称和其余属性?以下用户定义的功能可能适用于您 function getBrowser() { $u_agent = $_SERVER['HTTP_USER_AGENT'];
<?php
echo $_SERVER['HTTP_USER_AGENT'];
$browser = get_browser();
print_r($browser);
?>
这将只提供浏览器名称和其余属性?以下用户定义的功能可能适用于您
function getBrowser() {
$u_agent = $_SERVER['HTTP_USER_AGENT'];
$bname = 'Unknown';
$platform = 'Unknown';
$version = "";
//First get the platform?
if (preg_match('/linux/i', $u_agent)) {
$platform = 'linux';
} elseif (preg_match('/macintosh|mac os x/i', $u_agent)) {
$platform = 'mac';
} elseif (preg_match('/windows|win32/i', $u_agent)) {
$platform = 'windows';
}
// Next get the name of the useragent yes seperately and for good reason
if (preg_match('/MSIE/i', $u_agent) && !preg_match('/Opera/i', $u_agent)) {
$bname = 'Internet Explorer';
$ub = "MSIE";
} elseif (preg_match('/Firefox/i', $u_agent)) {
$bname = 'Mozilla Firefox';
$ub = "Firefox";
} elseif (preg_match('/Chrome/i', $u_agent)) {
$bname = 'Google Chrome';
$ub = "Chrome";
} elseif (preg_match('/Safari/i', $u_agent)) {
$bname = 'Apple Safari';
$ub = "Safari";
} elseif (preg_match('/Opera/i', $u_agent)) {
$bname = 'Opera';
$ub = "Opera";
} elseif (preg_match('/Netscape/i', $u_agent)) {
$bname = 'Netscape';
$ub = "Netscape";
}
// finally get the correct version number
$known = array('Version', $ub, 'other');
$pattern = '#(?<browser>' . join('|', $known) .
')[/ ]+(?<version>[0-9.|a-zA-Z.]*)#';
if (!preg_match_all($pattern, $u_agent, $matches)) {
// we have no matching number just continue
}
// see how many we have
$i = count($matches['browser']);
if ($i != 1) {
//we will have two since we are not using 'other' argument yet
//see if version is before or after the name
if (strripos($u_agent, "Version") < strripos($u_agent, $ub)) {
$version = $matches['version'][0];
} else {
$version = $matches['version'][1];
}
} else {
$version = $matches['version'][0];
}
// check if we have a number
if ($version == null || $version == "") {
$version = "?";
}
return array(
'userAgent' => $u_agent,
'name' => $bname,
'version' => $version,
'platform' => $platform,
'pattern' => $pattern
);
}
函数getBrowser(){
$u_-agent=$_-SERVER['HTTP_-USER_-agent'];
$bname=‘未知’;
$platform='Unknown';
$version=“”;
//先到站台?
if(preg_匹配('/linux/i',$u代理)){
$platform='linux';
}elseif(preg_match('/macintosh | MacOSX/i',$u代理)){
$platform='mac';
}elseif(预匹配('/windows | win32/i',$u代理)){
$platform='windows';
}
//接下来,分别获得useragent的名称yes,并且有充分的理由
if(preg_match('/MSIE/i',$u agent)&!preg_match('/Opera/i',$u agent)){
$bname='Internet Explorer';
$ub=“MSIE”;
}elseif(preg_match('/Firefox/i',$u代理)){
$bname='Mozilla Firefox';
$ub=“Firefox”;
}elseif(预匹配('/Chrome/i',$u代理)){
$bname=‘谷歌浏览器’;
$ub=“Chrome”;
}elseif(预匹配('/Safari/i',$u代理)){
$bname='Apple Safari';
$ub=“Safari”;
}elseif(预匹配('/Opera/i',$u代理)){
$bname='Opera';
$ub=“歌剧”;
}elseif(预匹配('/Netscape/i',$u代理)){
$bname='Netscape';
$ub=“Netscape”;
}
//最后得到正确的版本号
$known=array('Version',$ub,'other');
$pattern='#(?')。连接('|',$known)。
“)[/]+(?[0-9.| a-zA-Z.]*)#”;
如果(!preg_match_all($pattern,$u_agent,$matches)){
//我们没有匹配的号码,请继续
}
//看看我们有多少
$i=计数($matches['browser']);
如果($i!=1){
//我们将有两个,因为我们还没有使用“其他”参数
//查看版本是在名称之前还是之后
if(stripos($u_代理,“版本”)如的PHP参考中所示,您是否特别需要任何属性?请向我们提供此代码段的源代码。。。有信用就有信用@理查德伯纳德:当然可以,但它很久以前就有备份了。如果我发现这一点,我肯定会补充我的答案,别担心:)。