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


Posted in PHP onOctober 27, 2019

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中的正规表达式(一)
Oct 09 PHP
php操作mysqli(示例代码)
Oct 28 PHP
Laravel 5框架学习之数据库迁移(Migrations)
Apr 08 PHP
Laravel 5框架学习之模型、控制器、视图基础流程
Apr 08 PHP
Yii2.0 模态弹出框+ajax提交表单
May 22 PHP
golang 调用 php7详解及实例
Jan 04 PHP
PHP实现的mysql操作类【MySQL与MySQLi方式】
Oct 07 PHP
PHP 计算两个特别大的整数实例代码
May 07 PHP
PHP设计模式之委托模式定义与用法简单示例
Aug 13 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
Dec 01 PHP
laravel框架中视图的基本使用方法分析
Nov 23 PHP
PHP中用Trait封装单例模式的实现
Dec 18 PHP
php+layui数据表格实现数据分页渲染代码
Oct 26 #PHP
layui数据表格自定义每页条数limit设置
Oct 26 #PHP
在 Laravel 中动态隐藏 API 字段的方法
Oct 25 #PHP
Laravel 实现添加多语言提示信息
Oct 25 #PHP
Laravel5.5 动态切换多语言的操作方式
Oct 25 #PHP
解决php扩展安装不生效问题
Oct 25 #PHP
Laravel实现通过blade模板引擎渲染视图
Oct 25 #PHP
You might like
php数据库连接
2006/10/09 PHP
WordPress中注册菜单与调用菜单的方法详解
2015/12/18 PHP
Symfony2学习笔记之系统路由详解
2016/03/17 PHP
Laravel框架实现修改登录和注册接口数据返回格式的方法
2018/08/17 PHP
PHP实现15位身份证号转18位的方法分析
2019/10/16 PHP
JQuery 常用方法基础教程
2009/02/06 Javascript
利用location.hash实现跨域iframe自适应
2010/05/04 Javascript
Array, Array Constructor, for in loop, typeof, instanceOf
2011/09/13 Javascript
jquery 插件学习(二)
2012/08/06 Javascript
jquery+CSS实现的水平布局多级网页菜单效果
2015/08/24 Javascript
Jquery EasyUI Datagrid右键菜单实现方法
2016/12/30 Javascript
基于Vue实现tab栏切换内容不断实时刷新数据功能
2017/04/13 Javascript
详解webpack的配置文件entry与output
2017/08/21 Javascript
vue-cli实现多页面多路由的示例代码
2018/01/30 Javascript
Phaser.js实现简单的跑酷游戏附源码下载
2018/10/26 Javascript
JavaScript 如何计算文本的行数的实现
2020/09/14 Javascript
js实现特别简单的钟表效果
2020/09/14 Javascript
[43:35]TI4 循环赛第二日Liquid vs Fnatic
2014/07/11 DOTA
[51:50]完美世界DOTA2联赛 Magma vs GXR 第一场 11.07
2020/11/10 DOTA
python结合API实现即时天气信息
2016/01/19 Python
快速实现基于Python的微信聊天机器人示例代码
2017/03/03 Python
使用tensorflow实现AlexNet
2017/11/20 Python
pandas.loc 选取指定列进行操作的实例
2018/05/18 Python
基于MTCNN/TensorFlow实现人脸检测
2018/05/24 Python
python 设置xlabel,ylabel 坐标轴字体大小,字体类型
2019/07/23 Python
在keras中获取某一层上的feature map实例
2020/01/24 Python
Django视图、传参和forms验证操作
2020/07/15 Python
python实现发送带附件的邮件代码分享
2020/09/22 Python
flask框架中的cookie和session使用
2021/01/31 Python
N:Philanthropy官网:美国洛杉矶基础款服装
2020/06/09 全球购物
自荐信格式范文
2013/10/07 职场文书
司机岗位职责范本
2015/04/10 职场文书
甲午大海战观后感
2015/06/02 职场文书
2016国庆节67周年红领巾广播稿
2015/12/18 职场文书
golang日志包logger的用法详解
2021/05/05 Golang
聊聊Python中关于a=[[]]*3的反思
2021/06/02 Python