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 获取MySQL数据库里所有表的实现代码
Jul 13 PHP
zf框架的registry(注册表)使用示例
Mar 13 PHP
php中隐形字符65279(utf-8的BOM头)问题
Aug 16 PHP
对PHP新手的一些建议(PHP学习经验总结)
Aug 20 PHP
PHP获取ip对应地区和使用网络类型的方法
Mar 11 PHP
详解PHP编码转换函数应用技巧
Oct 22 PHP
PHP CURL采集百度搜寻结果图片不显示问题的解决方法
Feb 03 PHP
老生常谈文本文件和二进制文件的区别
Feb 27 PHP
php利用ffmpeg提取视频中音频与视频画面的方法详解
Jun 07 PHP
thinkPHP5框架导出Excel文件简单操作示例
Aug 03 PHP
php去除deprecated的实例方法
Nov 17 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
DISCUZ在win2003环境下 Unable to access ./include/common.inc.php in... 的问题终极解决方案
2011/11/21 PHP
php+mysql查询实现无限下级分类树输出示例
2016/10/03 PHP
6个常见的 PHP 安全性攻击实例和阻止方法
2020/12/16 PHP
地震发生中逃生十大法则
2008/05/12 Javascript
JavaScript 学习笔记(十二) dom
2010/01/21 Javascript
window.event.keyCode兼容IE和Firefox实现js代码
2013/05/30 Javascript
写得不错的jquery table鼠标经过变色代码
2013/09/27 Javascript
Js 导出table内容到Excel的简单实例
2013/11/19 Javascript
jQuery防止click双击多次提交及传递动态函数或多参数
2014/04/02 Javascript
第三章之Bootstrap 表格与按钮功能
2016/04/25 Javascript
JS中Select下拉列表类(支持输入模糊查询)功能
2017/01/17 Javascript
vue-cli的webpack模板项目配置文件分析
2017/04/01 Javascript
angular2路由之routerLinkActive指令【推荐】
2018/05/30 Javascript
微信小程序表单验证form提交错误提示效果
2020/06/19 Javascript
VueCli3构建TS项目的方法步骤
2018/11/07 Javascript
JavaScript设计模式之代理模式实例分析
2019/01/16 Javascript
基于mpvue搭建微信小程序项目框架的教程详解
2019/04/10 Javascript
[01:20]2018DOTA2亚洲邀请赛总决赛战队Mineski晋级之路
2018/04/07 DOTA
[49:08]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第一场 11.27
2020/12/01 DOTA
浅谈python中的数字类型与处理工具
2017/08/02 Python
python之matplotlib学习绘制动态更新图实例代码
2018/01/23 Python
对Python协程之异步同步的区别详解
2019/02/19 Python
Python QQBot库的QQ聊天机器人
2019/06/19 Python
Python中使用__new__实现单例模式并解析
2019/06/25 Python
python利用百度云接口实现车牌识别的示例
2020/02/21 Python
教你如何用python操作摄像头以及对视频流的处理
2020/10/12 Python
python 解决Windows平台上路径有空格的问题
2020/11/10 Python
python 实现学生信息管理系统的示例
2020/11/28 Python
HTML5的标签的代码的简单介绍 HTML5标签的简介
2012/05/28 HTML / CSS
Topman美国官网:英国著名的国际平价时尚男装品牌
2017/12/22 全球购物
医药销售求职信范文
2014/02/01 职场文书
高一化学教学反思
2014/02/05 职场文书
工作会议方案
2014/05/21 职场文书
红色故事演讲稿
2014/05/22 职场文书
社会体育专业大学生职业生涯规划书
2014/09/17 职场文书
Redis之RedisTemplate配置方式(序列和反序列化)
2022/03/13 Redis