首页 > 代码库 > php $_SERVER['HTTP_USER_AGENT'] 用法介绍
php $_SERVER['HTTP_USER_AGENT'] 用法介绍
在PHP中HTTP_USER_AGENT是用来获取用户的相关信息的,包括用户使用的浏览器,操作系统等信息,
显示结果为:
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.104 Safari/537.36 Core/1.53.2372.400 QQBrowser/9.5.10548.400
这个时候我们可以用正则表达式来匹配以上字符串,用户的浏览器,操作系统信息
php根据匹配后的结果,分配需要的CSS文件,JS等
<?php //显示访问用户的浏览器信息 echo ‘Browser: ‘ . determinebrowser($Agent) . ‘<BR>‘; //显示访问用户的操作系统平台 echo ‘Platform: ‘ . determineplatform($Agent). ‘<BR>‘; //正值表达式比对解析$_SERVER[‘HTTP_USER_AGENT‘]中的字符串 获取访问用户的浏览器的信息 function determinebrowser ($Agent) { $browseragent=""; //浏览器 $browserversion=""; //浏览器的版本 if (ereg(‘MSIE ([0-9].[0-9]{1,2})‘,$Agent,$version)) { $browserversion=$version[1]; $browseragent="Internet Explorer"; } else if (ereg( ‘Opera/([0-9]{1,2}.[0-9]{1,2})‘,$Agent,$version)) { $browserversion=$version[1]; $browseragent="Opera"; } else if (ereg( ‘Firefox/([0-9.]{1,5})‘,$Agent,$version)) { $browserversion=$version[1]; $browseragent="Firefox"; }else if (ereg( ‘Chrome/([0-9.]{1,3})‘,$Agent,$version)) { $browserversion=$version[1]; $browseragent="Chrome"; } else if (ereg( ‘Safari/([0-9.]{1,3})‘,$Agent,$version)) { $browseragent="Safari"; $browserversion=""; } else { $browserversion=""; $browseragent="Unknown"; } return $browseragent." ".$browserversion; } // 同理获取访问用户的浏览器的信息 function determineplatform ($Agent) { $browserplatform==‘‘; if (eregi(‘win‘,$Agent) && strpos($Agent, ‘95‘)) { $browserplatform="Windows 95"; } elseif (eregi(‘win 9x‘,$Agent) && strpos($Agent, ‘4.90‘)) { $browserplatform="Windows ME"; } elseif (eregi(‘win‘,$Agent) && ereg(‘98‘,$Agent)) { $browserplatform="Windows 98"; } elseif (eregi(‘win‘,$Agent) && eregi(‘nt 5.0‘,$Agent)) { $browserplatform="Windows 2000"; } elseif (eregi(‘win‘,$Agent) && eregi(‘nt 5.1‘,$Agent)) { $browserplatform="Windows XP"; } elseif (eregi(‘win‘,$Agent) && eregi(‘nt 6.0‘,$Agent)) { $browserplatform="Windows Vista"; } elseif (eregi(‘win‘,$Agent) && eregi(‘nt 6.1‘,$Agent)) { $browserplatform="Windows 7"; } elseif (eregi(‘win‘,$Agent) && ereg(‘32‘,$Agent)) { $browserplatform="Windows 32"; } elseif (eregi(‘win‘,$Agent) && eregi(‘nt‘,$Agent)) { $browserplatform="Windows NT"; }elseif (eregi(‘Mac OS‘,$Agent)) { $browserplatform="Mac OS"; } elseif (eregi(‘linux‘,$Agent)) { $browserplatform="Linux"; } elseif (eregi(‘unix‘,$Agent)) { $browserplatform="Unix"; } elseif (eregi(‘sun‘,$Agent) && eregi(‘os‘,$Agent)) { $browserplatform="SunOS"; } elseif (eregi(‘ibm‘,$Agent) && eregi(‘os‘,$Agent)) { $browserplatform="IBM OS/2"; } elseif (eregi(‘Mac‘,$Agent) && eregi(‘PC‘,$Agent)) { $browserplatform="Macintosh"; } elseif (eregi(‘PowerPC‘,$Agent)) { $browserplatform="PowerPC"; } elseif (eregi(‘AIX‘,$Agent)) { $browserplatform="AIX"; } elseif (eregi(‘HPUX‘,$Agent)) { $browserplatform="HPUX"; } elseif (eregi(‘NetBSD‘,$Agent)) { $browserplatform="NetBSD"; } elseif (eregi(‘BSD‘,$Agent)) { $browserplatform="BSD"; } elseif (ereg(‘OSF1‘,$Agent)) { $browserplatform="OSF1"; } elseif (ereg(‘IRIX‘,$Agent)) { $browserplatform="IRIX"; } elseif (eregi(‘FreeBSD‘,$Agent)) { $browserplatform="FreeBSD"; } if ($browserplatform==‘‘) {$browserplatform = "Unknown"; } return $browserplatform; } ?>
判断浏览器类型主要是靠分析_SERVER["HTTP_USER_AGENT"]的内容,而分析浏览器语言则是分析_SERVER["HTTP_ACCEPT_LANGUAGE"]。
一般我们可以判断用户当前是否是在微信端中打开 可以如下判断
private function is_wx_pro() { $user_agent = $_SERVER[‘HTTP_USER_AGENT‘]; if (strpos($user_agent, ‘MicroMessenger‘) === false) { // 非微信浏览器禁止浏览 return false; } else { // 微信浏览器,允许访问 preg_match(‘/.*?(MicroMessenger\/([0-9.]+))\s*/‘, $user_agent, $matches);//echo "MicroMessenger"; echo ‘<br>Version:‘.$matches[2];// 获取版本号 return true; } }
php $_SERVER['HTTP_USER_AGENT'] 用法介绍
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。