View Single Post
  #1   IP: 114.238.173.71
Old 2014-11-27, 01:59 PM
New Sharon New Sharon is offline
初级会员
 
Join Date: 2005-11-18
Posts: 1
New Sharon 现在声名狼藉
Default Php如何判断浏览器类型及浏览器语言

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

判断浏览器类型:


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


判断浏览器语言:


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


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

Code:
<?php
 if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 8.0″))
echo "Internet Explorer 8.0″;
 else if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 7.0″))
echo "Internet Explorer 7.0″;
 else if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 6.0″))
echo "Internet Explorer 6.0″;
 else if(strpos($_SERVER["HTTP_USER_AGENT"],"Firefox/3″))
echo "Firefox 3″;
 else if(strpos($_SERVER["HTTP_USER_AGENT"],"Firefox/2″)) echo "Firefox 2″;
 else if(strpos($_SERVER["HTTP_USER_AGENT"],"Chrome"))
echo "Google Chrome";
 else if(strpos($_SERVER["HTTP_USER_AGENT"],"Safari"))
echo "Safari";
 else if(strpos($_SERVER["HTTP_USER_AGENT"],"Opera"))
echo "Opera";
 else echo $_SERVER["HTTP_USER_AGENT"];
 ?>





判断浏览器语言的具体程序如下:


Code:
<?php
 $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4); //只取前4位,这样只判断最优先的语言。如果取前5位,可能出现en,zh的情况,影响判断。
if (preg_match("/zh-c/i", $lang))
echo "简体中文";
else if (preg_match("/zh/i", $lang))
echo "繁體中文";
else if (preg_match("/en/i", $lang))
echo "English";
else if (preg_match("/fr/i", $lang))
echo "French";
else if (preg_match("/de/i", $lang))
echo "German";
else if (preg_match("/jp/i", $lang))
echo "Japanese";
else if (preg_match("/ko/i", $lang))
echo "Korean";
else if (preg_match("/es/i", $lang))
echo "Spanish";
else if (preg_match("/sv/i", $lang))
echo "Swedish";
else echo $_SERVER["HTTP_ACCEPT_LANGUAGE"];
?>
Reply With Quote