酷站(www.ku0.com)-致力于为互联网从业者提供动力!

热门关键词:  企业  baidu  as  c4rp3nt3r  美女
酷站

php

旗下栏目: php js asp Flex Ajax jquery JSP asp.net C语言 java 正则表达式 微信小程序

PHP判断当前使用的是什么浏览器

来源:互联网搜集 作者:秩名 人气: 发布时间:2019-10-27
本篇文章主要介绍了PHP判断当前使用的是什么浏览器,对大家的学习或者工作具有一定的参考学习价值,感兴趣的小伙伴们可以参考一下,也感谢大家对酷站(ku0.com)的支持。
PHP简单判断当前使用的是什么浏览器,判断浏览器类型的方法,方便统计网站访问用户使用浏览器的比例。


 
判断浏览器类型方法一

function userBrowser() { 
 $user_OSagent = $_SERVER['HTTP_USER_AGENT']; 
  
 if (strpos($user_OSagent, "Maxthon") && strpos($user_OSagent, "MSIE")) { 
 $visitor_browser = "Maxthon(Microsoft IE)"; 
 } elseif (strpos($user_OSagent, "Maxthon 2.0")) { 
 $visitor_browser = "Maxthon 2.0"; 
 } elseif (strpos($user_OSagent, "Maxthon")) { 
 $visitor_browser = "Maxthon"; 
 } elseif (strpos($user_OSagent, "MSIE 9.0")) { 
 $visitor_browser = "MSIE 9.0"; 
 } elseif (strpos($user_OSagent, "MSIE 8.0")) { 
 $visitor_browser = "MSIE 8.0"; 
 } elseif (strpos($user_OSagent, "MSIE 7.0")) { 
 $visitor_browser = "MSIE 7.0"; 
 } elseif (strpos($user_OSagent, "MSIE 6.0")) { 
 $visitor_browser = "MSIE 6.0"; 
 } elseif (strpos($user_OSagent, "MSIE 5.5")) { 
 $visitor_browser = "MSIE 5.5"; 
 } elseif (strpos($user_OSagent, "MSIE 5.0")) { 
 $visitor_browser = "MSIE 5.0"; 
 } elseif (strpos($user_OSagent, "MSIE 4.01")) { 
 $visitor_browser = "MSIE 4.01"; 
 } elseif (strpos($user_OSagent, "MSIE")) { 
 $visitor_browser = "MSIE 较高版本"; 
 } elseif (strpos($user_OSagent, "NetCaptor")) { 
 $visitor_browser = "NetCaptor"; 
 } elseif (strpos($user_OSagent, "Netscape")) { 
 $visitor_browser = "Netscape"; 
 } elseif (strpos($user_OSagent, "Chrome")) { 
 $visitor_browser = "Chrome"; 
 } elseif (strpos($user_OSagent, "Lynx")) { 
 $visitor_browser = "Lynx"; 
 } elseif (strpos($user_OSagent, "Opera")) { 
 $visitor_browser = "Opera"; 
 } elseif (strpos($user_OSagent, "Konqueror")) { 
 $visitor_browser = "Konqueror"; 
 } elseif (strpos($user_OSagent, "Mozilla/5.0")) { 
 $visitor_browser = "Mozilla"; 
 } elseif (strpos($user_OSagent, "Firefox")) { 
 $visitor_browser = "Firefox"; 
 } elseif (strpos($user_OSagent, "U")) { 
 $visitor_browser = "Firefox"; 
 } else { 
 $visitor_browser = "其它"; 
 } 
 return $visitor_browser; 
}

方法二

下面这个是php通过正则匹配的,理论上效率不如上面的方法一, 大家可以根据需要使用。

private function getBrowser(){
        $flag=$_SERVER['HTTP_USER_AGENT'];
        $para=array();
         
        // 检查操作系统
        if(preg_match('/Windows[\d\. \w]*/',$flag, $match)) $para['os']=$match[0];
         
        if(preg_match('/Chrome\/[\d\.\w]*/',$flag, $match)){
            // 检查Chrome
            $para['browser']=$match[0];
        }elseif(preg_match('/Safari\/[\d\.\w]*/',$flag, $match)){
            // 检查Safari
            $para['browser']=$match[0];
        }elseif(preg_match('/MSIE [\d\.\w]*/',$flag, $match)){
            // IE
            $para['browser']=$match[0];
        }elseif(preg_match('/Opera\/[\d\.\w]*/',$flag, $match)){
            // opera
            $para['browser']=$match[0];
        }elseif(preg_match('/Firefox\/[\d\.\w]*/',$flag, $match)){
            // Firefox
            $para['browser']=$match[0];
        }elseif(preg_match('/OmniWeb\/(v*)([^\s|;]+)/i',$flag, $match)){
            //OmniWeb
            $para['browser']=$match[2];
        }elseif(preg_match('/Netscape([\d]*)\/([^\s]+)/i',$flag, $match)){
            //Netscape
            $para['browser']=$match[2];
        }elseif(preg_match('/Lynx\/([^\s]+)/i',$flag, $match)){
            //Lynx
            $para['browser']=$match[1];
        }elseif(preg_match('/360SE/i',$flag, $match)){
            //360SE
            $para['browser']='360安全浏览器';
        }elseif(preg_match('/SE 2.x/i',$flag, $match)) {
            //搜狗
            $para['browser']='搜狗浏览器';
        }else{
            $para['browser']='unkown';
        }
        return $para;
    }

保存$para即可

php判断浏览器是不是IE

1、$_SERVER['HTTP_USER_AGENT']和strpos

2、打印结果

谷歌:
 "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.86 Safari/537.36"
 
火狐:
 "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0"
 
IE:
"Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"  


3、php控制器中

网上说用判断ua中是否有MSIE,然而并没有,用Triden判断也可以的。
 

public function isIE() {
  $isIE = strpos($_SERVER['HTTP_USER_AGENT'],"Triden");
  return $isIE;
}

原文链接:https://www.cnblogs.com/mrlime/archive/2019/10/27/11746787.html

最新更新