使用php判断浏览器的类型和语言的函数代码

yipeiwu_com4年前PHP代码库

我们经常看到有一些网站上面会显示出你目前使用的浏览器类型和使用的语言,比如显示的是:您使用的浏览器为 IE6,繁体字。看起来是不是很炫。

其实这样的功能不难实现,无非就是判断浏览器的类型和语言,如果用JS来做应该很简单,这里我们看看用PHP来怎么实现这样的功能,既然是在做判断,就可以用PHP的条件语句if..else来判断实现。

判断浏览器类型:

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

判断浏览器语言:

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

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

复制代码 代码如下:

<?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"]; 
?>


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

复制代码 代码如下:

<?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"]; 
?>

小结:判断浏览器类型主要是靠分析_SERVER["HTTP_USER_AGENT"]的内容,而分析浏览器语言则是分析_SERVER["HTTP_ACCEPT_LANGUAGE"]。

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

相关文章

一个简单的php路由类

本文实例为大家分享了php编写一个简单的路由类,供大家参考,具体内容如下 <?php namespace cmhc\Hcrail; class Hcrail {...

window+nginx+php环境配置 附配置搭配说明

1,下载PHP   php下载版本比较多,其中,   vc9=vs2008编译,推荐使用IIS+php搭配模式,   vc6=vs6编译,推荐使用apache+php方式搭配,   Th...

phpMyAdmin 安装及问题总结

1/无法载入mcrypt扩展,请检查PHP配置; 2/配置文件现在需要绝密的短语密码(blowfish_secret); 3/#2003-服务器没有响应。 由于目前phpMyAdmin的...

探讨php define()函数及defined()函数使用详解

The define() function defines a constant.define()函数的作用是:定义一个常量。 Constants are much like varia...

php版微信js-sdk支付接口类用法示例

本文实例讲述了php版微信js-sdk支付接口类用法。分享给大家供大家参考,具体如下: 这个支付类是根据官方的文档修改而来!主要实现生成JS API 、Native的package签名包...