用PHP判断浏览器类型其实很简单。因为浏览器在和服务器连接时候都会先发送一些包含自己信息的内容(浏览器类型、语言等)。
这里我们主要分析的是_SERVER“HTTP_USER_AGENT”和_SERVER“HTTP_ACCEPT_LANGUAGE”。我们所要做的就是把这些内容读出来,然后用strpos或者preg_match函数来对比就可以了。
For example:
header("content-type:text/html;charset=utf-8");
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"];
}
判断浏览器语言的具体程序如下:
$lang=substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,4);
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 "Japanse";
}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"];
}
小结:判断浏览器类型主要是靠分析_SERVER[“HTTP_USER_AGENT”]的内容,而分析浏览器语言则是分析_SERVER[“HTTP_ACCEPT_LANGUAGE”]。