PHP判断当前使用的是什么浏览器(推荐)

 更新时间:2019年10月27日 10:59:45   作者:mrlime  
PHP简单判断当前使用的是什么浏览器,判断浏览器类型的方法,方便统计网站访问用户使用浏览器的比例。这篇文章主要介绍了PHP判断当前使用的是什么浏览器(推荐),需要的朋友可以参考下

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; 
}

总结

以上所述是小编给大家介绍的PHP判断当前使用的是什么浏览器(推荐),希望对大家有所帮助!

相关文章

  • 全世界最小的php网页木马一枚 附PHP木马的防范方法

    全世界最小的php网页木马一枚 附PHP木马的防范方法

    php网页木马代码,大家可以看下自己的网站里面是不是有这样的代码,注意网站安全用mcafee限制w3wp.exe生成php或者asp文件。并在php.ini中设置一下。
    2009-10-10
  • Vagrant(WSL)+PHPStorm+Xdebu 断点调试环境搭建

    Vagrant(WSL)+PHPStorm+Xdebu 断点调试环境搭建

    这篇文章主要介绍了Vagrant(WSL)+PHPStorm+Xdebu 断点调试环境搭建,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • Laravel框架Eloquent ORM新增数据、自定义时间戳及批量赋值用法详解

    Laravel框架Eloquent ORM新增数据、自定义时间戳及批量赋值用法详解

    这篇文章主要介绍了Laravel框架Eloquent ORM新增数据、自定义时间戳及批量赋值用法,结合实例形式详细分析了Laravel框架Eloquent ORM通过模型新增数据、时间戳设置、批量赋值模型、Create新增等相关使用方法,需要的朋友可以参考下
    2019-12-12
  • 如何使用php生成zip压缩包

    如何使用php生成zip压缩包

    这篇文章主要介绍了如何使用php生成zip压缩包,对压缩感兴趣的同学,可以实验一下
    2021-04-04
  • 珊瑚虫IP库浅析

    珊瑚虫IP库浅析

    珊瑚虫IP库浅析...
    2007-02-02
  • thinkphp5实现无限级分类

    thinkphp5实现无限级分类

    这篇文章主要为大家详细介绍了thinkphp5实现无限级分类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • php 验证码实例代码

    php 验证码实例代码

    首先验证码的原理就是,画一张图片,然后在这张图片上写一些字,然后加一些干扰的线条,像素点之类的东西就ok了,这里要使用php那就要知道php中画图的函数是那些,然后拿来用便是了。
    2010-06-06
  • ThinkPHP实现转换数据库查询结果数据到对应类型的方法

    ThinkPHP实现转换数据库查询结果数据到对应类型的方法

    这篇文章主要介绍了ThinkPHP实现转换数据库查询结果数据到对应类型的方法,涉及thinkPHP模型类操作及针对源码文件的相关修改方法,需要的朋友可以参考下
    2017-11-11
  • Zend Framework教程之模型Model基本规则和使用方法

    Zend Framework教程之模型Model基本规则和使用方法

    这篇文章主要介绍了Zend Framework教程之模型Model基本规则和使用方法,结合实例形式详细分析了Zend Framework中模型的原理与具体使用技巧,需要的朋友可以参考下
    2016-03-03
  • 配置Nginx+PHP的正确思路与过程

    配置Nginx+PHP的正确思路与过程

    如何正确配置 Nginx + PHP,值得大家思考的一个问题,下面小编就为大家分析配置Nginx+PHP的正确思路与过程,感兴趣的小伙伴们可以参考一下
    2016-05-05

最新评论