漂亮蓝影 发表于 2017-4-1 08:49:44

php判断浏览器和语言

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


判断浏览器语言:
<?php echo $_SERVER["HTTP_ACCEPT_LANGUAGE"]; ?>


判断浏览器类型的具体程序如下:
01<?php
02if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 8.0"))
03echo "Internet Explorer 8.0";
04else if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 7.0"))
05echo "Internet Explorer 7.0";
06else if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 6.0"))
07echo "Internet Explorer 6.0";
08else if(strpos($_SERVER["HTTP_USER_AGENT"],"Firefox/3"))
09echo "Firefox 3";
10else if(strpos($_SERVER["HTTP_USER_AGENT"],"Firefox/2"))
11echo "Firefox 2";
12else if(strpos($_SERVER["HTTP_USER_AGENT"],"Chrome"))
13echo "Google Chrome";
14else if(strpos($_SERVER["HTTP_USER_AGENT"],"Safari"))
15echo "Safari";
16else if(strpos($_SERVER["HTTP_USER_AGENT"],"Opera"))
17echo "Opera";
18else echo $_SERVER["HTTP_USER_AGENT"];
19?>


判断浏览器语言的具体程序如下:
01<?php
02$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4); //只取前4位,这样只判断最优先的语言。如果取前5位,可能出现en,zh的情况,影响判断。
03if (preg_match("/zh-c/i", $lang))
04echo "简体中文";
05else if (preg_match("/zh/i", $lang))
06echo "繁體中文";
07else if (preg_match("/en/i", $lang))
08echo "English";
09else if (preg_match("/fr/i", $lang))
10echo "French";
11else if (preg_match("/de/i", $lang))
12echo "German";
13else if (preg_match("/jp/i", $lang))
14echo "Japanese";
15else if (preg_match("/ko/i", $lang))
16echo "Korean";
17else if (preg_match("/es/i", $lang))
18echo "Spanish";
19else if (preg_match("/sv/i", $lang))
20echo "Swedish";
21else echo $_SERVER["HTTP_ACCEPT_LANGUAGE"];
22?>



判断浏览器类型主要是靠分析_SERVER["HTTP_USER_AGENT"]的内容,而分析浏览器语言则是分析_SERVER["HTTP_ACCEPT_LANGUAGE"]。
页: [1]
查看完整版本: php判断浏览器和语言