使用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安全编程之加密功能
Oct 09 PHP
基于PHP与XML的PDF文档生成技术
Oct 09 PHP
php下连接mssql2005的代码
Jan 17 PHP
php中使用getimagesize获取图片、flash等文件的尺寸信息实例
Apr 29 PHP
改写ThinkPHP的U方法使其路由下分页正常
Jul 02 PHP
PHP中使用虚代理实现延迟加载技术
Nov 05 PHP
php实现两表合并成新表并且有序排列的方法
Dec 05 PHP
php实现源代码加密的方法
Jul 11 PHP
PHP面试题之文件目录操作
Oct 15 PHP
PHP中文竖排转换实现方法
Oct 23 PHP
laravel自定义分页效果
Jul 23 PHP
PHP基于自定义函数实现的汉字转拼音功能实例
Sep 30 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
Laravel第三方包报class not found的解决方法
2019/10/13 PHP
jQuery 树形结构的选择器
2010/02/15 Javascript
json格式化/压缩工具 Chrome插件扩展版
2010/05/25 Javascript
23个超流行的jQuery相册插件整理分享
2011/04/25 Javascript
js获得鼠标的坐标值的方法
2013/03/13 Javascript
jquery实现input输入框实时输入触发事件代码
2014/01/28 Javascript
Flow之一个新的Javascript静态类型检查器
2015/12/21 Javascript
详解JavaScript中双等号引起的隐性类型转换
2016/05/30 Javascript
Bootstrap框架下下拉框select搜索功能
2020/03/26 Javascript
解决ajax不能访问本地文件问题(利用js跨域原理)
2017/01/24 Javascript
Restify中接入Socket.io报Error:Can’t set headers的错误解决
2017/03/28 Javascript
vue组件如何被其他项目引用
2017/04/13 Javascript
关于jQuery.ajax()的jsonp碰上post详解
2017/07/02 jQuery
用户管理的设计_jquery的ajax实现二级联动效果
2017/07/13 jQuery
对于Javascript 执行上下文的全面了解
2017/09/05 Javascript
ES6 javascript中Class类继承用法实例详解
2017/10/30 Javascript
Postman模拟发送带token的请求方法
2018/03/31 Javascript
你应该了解的JavaScript Array.map()五种用途小结
2018/11/14 Javascript
[02:17]TI4西雅图DOTA2前线报道 啸天mik夫妻档解说
2014/07/08 DOTA
Python  __getattr__与__setattr__使用方法
2008/09/06 Python
Django中redis的使用方法(包括安装、配置、启动)
2018/02/21 Python
python3读取csv和xlsx文件的实例
2018/06/22 Python
10个Python小技巧你值得拥有
2018/09/29 Python
让代码变得更易维护的7个Python库
2018/10/09 Python
Python图像处理库PIL的ImageDraw模块介绍详解
2020/02/26 Python
Python利用FFT进行简单滤波的实现
2020/02/26 Python
解决pycharm导入本地py文件时,模块下方出现红色波浪线的问题
2020/06/01 Python
苹果香港官方商城:Apple香港
2016/09/14 全球购物
Steve Madden官网:美国鞋类品牌
2017/01/29 全球购物
医院护士求职自荐信格式
2013/09/21 职场文书
安全标语大全
2014/06/10 职场文书
大学生学习面向未来的赶考思想汇报
2014/09/12 职场文书
乡镇务虚会发言材料
2014/10/20 职场文书
清洁工个人工作总结
2015/03/05 职场文书
大学感恩节活动总结
2015/05/05 职场文书
严以用权学习心得体会
2016/01/12 职场文书