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代码把全角数字转为半角数字
Dec 10 PHP
php foreach 使用&(与运算符)引用赋值要注意的问题
Feb 16 PHP
php表单转换textarea换行符的方法
Sep 10 PHP
PHP之COOKIE支持详解
Sep 20 PHP
PHP学习之整理字符串
Apr 17 PHP
php实现用户在线时间统计详解
Oct 08 PHP
记录mysql性能查询过程的使用方法
May 02 PHP
浅析php插件 HTMLPurifier HTML解析器
Jul 01 PHP
smarty内置函数foreach用法实例
Jan 22 PHP
php通过array_shift()函数移除数组第一个元素的方法
Mar 18 PHP
PHP实现文件上传和多文件上传
Dec 24 PHP
php判断是否为ajax请求的方法
Nov 29 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文件系统处理方法小结
2016/05/23 PHP
PHP中读取文件的几个方法总结(推荐)
2016/06/03 PHP
php使用redis的几种常见操作方式和用法示例
2020/02/20 PHP
javascript getElementsByClassName实现代码
2010/10/11 Javascript
js简单的表格添加行和删除行操作示例
2014/03/31 Javascript
加随机数引入脚本不让浏览器读取缓存
2014/09/04 Javascript
jQuery on方法传递参数示例
2014/12/09 Javascript
jQuery layui常用方法介绍
2016/07/25 Javascript
JavaScript代码里的判断小结
2016/08/22 Javascript
浅谈js中function的参数默认值
2017/02/20 Javascript
详解RequireJS按需加载样式文件
2017/04/12 Javascript
详解Vue.js搭建路由报错 router.map is not a function
2017/06/27 Javascript
js实现本地图片文件拖拽效果
2017/07/18 Javascript
js判断传入时间和当前时间大小实例(超简单)
2018/01/11 Javascript
解决vue 路由变化页面数据不刷新的问题
2018/03/13 Javascript
js中时间格式化的几种方法
2018/07/22 Javascript
Vue filter格式化时间戳时间成标准日期格式的方法
2018/09/16 Javascript
js+html5 canvas实现ps钢笔抠图
2019/04/28 Javascript
JavaScript实现简单的计算器
2020/01/16 Javascript
浅谈Vue.use到底是什么鬼
2020/01/21 Javascript
python基础教程之缩进介绍
2014/08/29 Python
Python类的多重继承问题深入分析
2014/11/09 Python
python获取从命令行输入数字的方法
2015/04/29 Python
Python数组定义方法
2016/04/13 Python
Python流程控制 while循环实现解析
2019/09/02 Python
浅谈anaconda python 版本对应关系
2020/10/07 Python
Pycharm配置lua编译环境过程图解
2020/11/28 Python
护士思想汇报
2014/01/12 职场文书
《夏夜多美》教学反思
2014/02/17 职场文书
幼儿园家长寄语
2014/04/02 职场文书
创优争先心得体会
2014/09/11 职场文书
2015年小学生自我评价范文
2015/03/03 职场文书
婚宴父母致辞
2015/07/27 职场文书
浅谈vue2的$refs在vue3组合式API中的替代方法
2021/04/18 Vue.js
Go 语言结构实例分析
2021/07/04 Golang
MySQL一劳永逸永久支持输入中文的方法实例
2022/08/05 MySQL