vbfh 发表于 2015-8-24 13:04:35

PHP如何判断浏览器类型及浏览器语言

  因为浏览器在和服务器连接时候都会先发送一些包含自己信息的内容(浏览器类型、语言)。
这里我们主要分析的是_SERVER["HTTP_USER_AGENT"](浏览器类型)和_SERVER["HTTP_ACCEPT_LANGUAGE"](浏览器语言)。
我们所要做的就是把这些内容读出来,然后用strpos或者preg_match函数来对比就可以了。

  判断浏览器类型:



1 <?php echo $_SERVER["HTTP_USER_AGENT"]; ?>
  


  判断浏览器语言:



1 <?php echo $_SERVER["HTTP_ACCEPT_LANGUAGE"]; ?>
  


  
判断浏览器类型的具体程序如下:
  




1 <?php
2if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 8.0&Prime;))
3   echo "Internet Explorer 8.0&Prime;;
4else if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 7.0&Prime;))
5   echo "Internet Explorer 7.0&Prime;;
6else if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 6.0&Prime;))
7   echo "Internet Explorer 6.0&Prime;;
8else if(strpos($_SERVER["HTTP_USER_AGENT"],"Firefox/3&Prime;))
9   echo "Firefox 3&Prime;;
10else if(strpos($_SERVER["HTTP_USER_AGENT"],"Firefox/2&Prime;))
11   echo "Firefox 2&Prime;;
12else if(strpos($_SERVER["HTTP_USER_AGENT"],"Chrome"))
13   echo "Google Chrome";
14else if(strpos($_SERVER["HTTP_USER_AGENT"],"Safari"))
15   echo "Safari";
16else if(strpos($_SERVER["HTTP_USER_AGENT"],"Opera"))
17   echo "Opera";
18else echo $_SERVER["HTTP_USER_AGENT"];
19?>
  
  
  
  判断浏览器语言的具体程序如下:
  




1 <?php
2$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4); //只取前4位,这样只判断最优先的语言。如果取前5位,可能出现en,zh的情况,影响判断。
3 if (preg_match("/zh-c/i", $lang))
4   echo "简体中文";
5 else if (preg_match("/zh/i", $lang))
6   echo "繁體中文";
7 else if (preg_match("/en/i", $lang))
8   echo "English";
9 else if (preg_match("/fr/i", $lang))
10   echo "French";
11 else if (preg_match("/de/i", $lang))
12   echo "German";
13 else if (preg_match("/jp/i", $lang))
14   echo "Japanese";
15 else if (preg_match("/ko/i", $lang))
16   echo "Korean";
17 else if (preg_match("/es/i", $lang))
18   echo "Spanish";
19 else if (preg_match("/sv/i", $lang))
20   echo "Swedish";
21 else echo $_SERVER["HTTP_ACCEPT_LANGUAGE"];
22 ?>
  
  

  
页: [1]
查看完整版本: PHP如何判断浏览器类型及浏览器语言