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

PHP简单判断当前使用的是什么浏览器,判断浏览器类型的方法,方便统计网站访问用户使用浏览器的比例,这篇文章主要介绍了PHP判断当前使用的是什么浏览器(推荐),需要的朋友可以参考下。

PHP简单判断当前使用的是什么浏览器,判断浏览器类型的方法,方便统计网站访问用户使用浏览器的比例。

判断浏览器类型方法一

  1. function userBrowser() {
  2. $user_OSagent = $_SERVER['HTTP_USER_AGENT'];
  3. if (strpos($user_OSagent, "Maxthon") && strpos($user_OSagent, "MSIE")) {
  4. $visitor_browser = "Maxthon(Microsoft IE)";
  5. } elseif (strpos($user_OSagent, "Maxthon 2.0")) {
  6. $visitor_browser = "Maxthon 2.0";
  7. } elseif (strpos($user_OSagent, "Maxthon")) {
  8. $visitor_browser = "Maxthon";
  9. } elseif (strpos($user_OSagent, "MSIE 9.0")) {
  10. $visitor_browser = "MSIE 9.0";
  11. } elseif (strpos($user_OSagent, "MSIE 8.0")) {
  12. $visitor_browser = "MSIE 8.0";
  13. } elseif (strpos($user_OSagent, "MSIE 7.0")) {
  14. $visitor_browser = "MSIE 7.0";
  15. } elseif (strpos($user_OSagent, "MSIE 6.0")) {
  16. $visitor_browser = "MSIE 6.0";
  17. } elseif (strpos($user_OSagent, "MSIE 5.5")) {
  18. $visitor_browser = "MSIE 5.5";
  19. } elseif (strpos($user_OSagent, "MSIE 5.0")) {
  20. $visitor_browser = "MSIE 5.0";
  21. } elseif (strpos($user_OSagent, "MSIE 4.01")) {
  22. $visitor_browser = "MSIE 4.01";
  23. } elseif (strpos($user_OSagent, "MSIE")) {
  24. $visitor_browser = "MSIE 较高版本";
  25. } elseif (strpos($user_OSagent, "NetCaptor")) {
  26. $visitor_browser = "NetCaptor";
  27. } elseif (strpos($user_OSagent, "Netscape")) {
  28. $visitor_browser = "Netscape";
  29. } elseif (strpos($user_OSagent, "Chrome")) {
  30. $visitor_browser = "Chrome";
  31. } elseif (strpos($user_OSagent, "Lynx")) {
  32. $visitor_browser = "Lynx";
  33. } elseif (strpos($user_OSagent, "Opera")) {
  34. $visitor_browser = "Opera";
  35. } elseif (strpos($user_OSagent, "Konqueror")) {
  36. $visitor_browser = "Konqueror";
  37. } elseif (strpos($user_OSagent, "Mozilla/5.0")) {
  38. $visitor_browser = "Mozilla";
  39. } elseif (strpos($user_OSagent, "Firefox")) {
  40. $visitor_browser = "Firefox";
  41. } elseif (strpos($user_OSagent, "U")) {
  42. $visitor_browser = "Firefox";
  43. } else {
  44. $visitor_browser = "其它";
  45. }
  46. return $visitor_browser;
  47. }

方法二

下面这个是php通过正则匹配的,理论上效率不如上面的方法一, 大家可以根据需要使用。

  1. private function getBrowser(){
  2. $flag=$_SERVER['HTTP_USER_AGENT'];
  3. $para=array();
  4. // 检查操作系统
  5. if(preg_match('/Windows[\d\. \w]*/',$flag, $match)) $para['os']=$match[0];
  6. if(preg_match('/Chrome\/[\d\.\w]*/',$flag, $match)){
  7. // 检查Chrome
  8. $para['browser']=$match[0];
  9. }elseif(preg_match('/Safari\/[\d\.\w]*/',$flag, $match)){
  10. // 检查Safari
  11. $para['browser']=$match[0];
  12. }elseif(preg_match('/MSIE [\d\.\w]*/',$flag, $match)){
  13. // IE
  14. $para['browser']=$match[0];
  15. }elseif(preg_match('/Opera\/[\d\.\w]*/',$flag, $match)){
  16. // opera
  17. $para['browser']=$match[0];
  18. }elseif(preg_match('/Firefox\/[\d\.\w]*/',$flag, $match)){
  19. // Firefox
  20. $para['browser']=$match[0];
  21. }elseif(preg_match('/OmniWeb\/(v*)([^\s|;]+)/i',$flag, $match)){
  22. //OmniWeb
  23. $para['browser']=$match[2];
  24. }elseif(preg_match('/Netscape([\d]*)\/([^\s]+)/i',$flag, $match)){
  25. //Netscape
  26. $para['browser']=$match[2];
  27. }elseif(preg_match('/Lynx\/([^\s]+)/i',$flag, $match)){
  28. //Lynx
  29. $para['browser']=$match[1];
  30. }elseif(preg_match('/360SE/i',$flag, $match)){
  31. //360SE
  32. $para['browser']='360安全浏览器';
  33. }elseif(preg_match('/SE 2.x/i',$flag, $match)) {
  34. //搜狗
  35. $para['browser']='搜狗浏览器';
  36. }else{
  37. $para['browser']='unkown';
  38. }
  39. return $para;
  40. }

保存$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判断也可以的。

  1. public function isIE() {
  2. $isIE = strpos($_SERVER['HTTP_USER_AGENT'],"Triden");
  3. return $isIE;
  4. }