不知道大家在平时上网时有没有注意到,有的网站会在下方给出提示:您使用的浏览器为 IE7,建议1024*768像素浏览等。这样的功能便是通过判断浏览器的类型和语言,然后给出的提示。
今天,我们不用js来实现这样的功能,说说如何用PHP来实现对浏览器类型与语言的判断
简单示例:
复制代码 代码示例:
<?php
//判断浏览器类型
echo $_SERVER["HTTP_USER_AGENT"];
//判断浏览器语言
echo $_SERVER["HTTP_ACCEPT_LANGUAGE"];
?>
下面是两个完整的示例,分别判断浏览器类型、浏览器语言。
1、判断浏览器类型
复制代码 代码示例:
<?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"];
?>
2、判断浏览器语言
复制代码 代码示例:
<?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"];
/*@ http://www.jb200.com */
?>
从以上代码,可以看到php判断浏览器类型,主要是借助_SERVER["HTTP_USER_AGENT"],而分析浏览器语言则是使用_SERVER["HTTP_ACCEPT_LANGUAGE"]。
从原理上来讲,浏览器在与服务器连接时总会先发送一些包括(浏览器类型、语言)类的信息。
我们可以借助php全局变更$_SERVER,诸如_SERVER["HTTP_USER_AGENT"](浏览器类型)和_SERVER["HTTP_ACCEPT_LANGUAGE"](浏览器语言)来获取到相关信息,然后用strpos或者preg_match函数来对比就可以了。
好了,关于php判断浏览器类型、浏览器语言等的内容就介绍到这了。
您可能感兴趣的文章:
PHP判断浏览器类型的代码
php 获取访问者浏览器的代码
php获取客户端浏览器与操作系统信息的方法