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


Posted in PHP onFebruary 28, 2013

我们经常看到有一些网站上面会显示出你目前使用的浏览器类型和使用的语言,比如显示的是:您使用的浏览器为 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笔试题
Aug 04 PHP
window+nginx+php环境配置 附配置搭配说明
Dec 29 PHP
PHP下通过QRCode类库创建中间带网站LOGO的二维码
Jul 12 PHP
php短址转换实现方法
Feb 25 PHP
php生成图片验证码
Jun 09 PHP
php实现网站顶踩功能的完整前端代码
Jul 19 PHP
简单理解PHP的面向对象编程方式
May 17 PHP
linux平台编译安装PHP7并安装Redis扩展与Swoole扩展实例教程
Sep 30 PHP
浅谈PHP中new self()和new static()的区别
Aug 11 PHP
详解thinkphp5+swoole实现异步邮件群发(SMTP方式)
Oct 13 PHP
PHP递归算法的简单实例
Feb 28 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
Feb 16 PHP
CI框架源码阅读,系统常量文件constants.php的配置
Feb 28 #PHP
PHP删除非空目录的函数代码小结
Feb 28 #PHP
PHP生成随机用户名和密码的实现代码
Feb 27 #PHP
PHP人民币金额数字转中文大写的函数代码
Feb 27 #PHP
PHP和.net中des加解密的实现方法
Feb 27 #PHP
php和js如何通过json互相传递数据相关问题探讨
Feb 26 #PHP
php数组的概述及分类与声明代码演示
Feb 26 #PHP
You might like
《星际争霸2》终章已出 RTS时代宣告终结
2017/02/07 星际争霸
PHP的时间戳与具体时间转化的简单实现
2016/06/13 PHP
一个简单的javascript类定义例子
2009/09/12 Javascript
我的javascript 函数链之演变
2011/04/07 Javascript
javascript 二进制运算技巧解析
2012/11/27 Javascript
html页面显示年月日时分秒和星期几的两种方式
2013/08/20 Javascript
JS小功能(操作Table--动态添加删除表格及数据)实现代码
2013/11/28 Javascript
jquery获取html元素的绝对位置和相对位置的方法
2014/06/20 Javascript
js计算时间差代码【包括计算,天,时,分,秒】
2016/04/26 Javascript
基于JavaScript FileReader上传图片显示本地链接
2016/05/27 Javascript
jQuery实现图像旋转动画效果
2016/05/29 Javascript
Jquery实现遮罩层的简单实例(就是弹出DIV周围都灰色不能操作)
2016/07/14 Javascript
数组Array的一些方法(总结)
2017/02/17 Javascript
详解vue slot插槽的使用方法
2017/06/13 Javascript
详解jQuery中关于Ajax的几个常用的函数
2017/07/17 jQuery
解决vue-cli@3.xx安装不成功的问题及搭建ts-vue项目
2020/02/09 Javascript
js this 绑定机制深入详解
2020/04/30 Javascript
vue 项目引入echarts 添加点击事件操作
2020/09/09 Javascript
[50:11]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第三场
2018/04/09 DOTA
[01:00:14]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant BO3 第二场 2月28日
2021/03/11 DOTA
python连接sql server乱码的解决方法
2013/01/28 Python
Python Selenium Cookie 绕过验证码实现登录示例代码
2018/04/10 Python
python pandas 组内排序、单组排序、标号的实例
2018/04/12 Python
linux下python中文乱码解决方案详解
2019/08/28 Python
详解python中的模块及包导入
2019/08/30 Python
python GUI库图形界面开发之PyQt5信号与槽事件处理机制详细介绍与实例解析
2020/03/08 Python
Python ArgumentParse的subparser用法说明
2020/04/20 Python
中国跨境电商:Tomtop
2017/03/16 全球购物
蒂娜商店:Tiina the Store
2019/12/07 全球购物
设计总监岗位职责
2013/12/07 职场文书
药剂专业学生求职信范文
2013/12/28 职场文书
深入开展党的群众路线教育实践活动心得体会
2014/11/05 职场文书
天河观后感
2015/06/11 职场文书
2016年“12.3”国际残疾人日活动总结
2016/04/01 职场文书
一文搞懂python异常处理、模块与包
2021/06/26 Python
python非标准时间的转换
2021/07/25 Python