加入收藏 | 设为首页 | 会员中心 | 我要投稿 鹤壁站长网 (https://www.0392zz.cn/)- 分布式云、存储数据、视频终端、媒体处理、内容创作!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

用php怎样判断浏览器?教你两个办法

发布时间:2022-03-21 14:19:39 所属栏目:语言 来源:互联网
导读:我们知道浏览器有很多,不同人的使用习惯不同,因此我们需要的统计网站访问用户使用浏览器的比例,这样有助我们更好的做好网站。那么要如何判断浏览器类型呢?下面给大家分享几个基于php判断浏览器的方法。 判断浏览器类型方法一 function userBrowser() { $
     我们知道浏览器有很多,不同人的使用习惯不同,因此我们需要的统计网站访问用户使用浏览器的比例,这样有助我们更好的做好网站。那么要如何判断浏览器类型呢?下面给大家分享几个基于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;
}

(编辑:鹤壁站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读