使用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的FTP学习(一)
Oct 09 PHP
在PHP中养成7个面向对象的好习惯
Jul 17 PHP
PHP STRING 陷阱原理说明
Jul 24 PHP
php设计模式 Prototype (原型模式)代码
Jun 26 PHP
php简单的留言板与回复功能具体实现
Feb 19 PHP
Linux中用PHP判断程序运行状态的2个方法
May 04 PHP
PHPer 需要了解的 5 个 Composer 小技巧
Aug 18 PHP
PHP中魔术变量__METHOD__与__FUNCTION__的区别
Sep 29 PHP
CodeIgniter控制器之业务逻辑实例分析
Jan 20 PHP
php简单复制文件的方法
May 09 PHP
CodeIgniter常用知识点小结
May 26 PHP
详解php框架Yaf路由重写
Jun 20 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
php 文本文件的读取效率
2012/02/10 PHP
php二维数组转成字符串示例
2014/02/17 PHP
php常用数组函数实例小结
2016/12/29 PHP
php+webSoket实现聊天室示例代码(附源码)
2017/02/17 PHP
thinkPHP简单导入和使用阿里云OSSsdk的方法
2017/03/15 PHP
tp5框架内使用tp3.2分页的方法分析
2019/05/05 PHP
如何重写Laravel异常处理类详解
2020/12/20 PHP
javascript基础知识大全 便于大家学习,也便于我自己查看
2012/08/17 Javascript
jQuery中on()方法用法实例
2015/01/19 Javascript
javascript检测两个数组是否相似
2015/05/19 Javascript
javascript实现网页屏蔽Backspace事件,输入框不屏蔽
2015/07/21 Javascript
javascript实现九宫格相加数值相等
2020/05/28 Javascript
Es6 写的文件import 起来解决方案详解
2016/12/13 Javascript
Extjs gridpanel 中的checkbox(复选框)根据某行的条件不能选中的解决方法
2017/02/17 Javascript
js实现时间轴自动排列效果
2017/03/09 Javascript
微信小程序开发之map地图实现教程
2017/06/08 Javascript
JavaScript定时器setTimeout()和setInterval()详解
2017/08/18 Javascript
Python实现备份文件实例
2014/09/16 Python
基于进程内通讯的python聊天室实现方法
2015/06/28 Python
python之virtualenv的简单使用方法(必看篇)
2017/11/25 Python
详解python中的Turtle函数库
2018/11/19 Python
Python3匿名函数lambda介绍与使用示例
2019/05/18 Python
关于Python3爬虫利器Appium的安装步骤
2020/07/29 Python
python中如何使用虚拟环境
2020/10/14 Python
python3中celery异步框架简单使用+守护进程方式启动
2021/01/20 Python
HTML5中通过li-canvas轻松实现单图、多图、圆角图绘制,单行文字、多行文字等
2018/11/30 HTML / CSS
SteelSeries赛睿官网:游戏外设和配件的领先制造商(耳机、键盘、鼠标和鼠标垫)
2018/06/17 全球购物
凌阳科技股份有限公司C++程序员面试题笔试题
2014/11/20 面试题
怎样写好自我鉴定
2013/12/04 职场文书
安全生产先进个人材料
2014/02/06 职场文书
省文明单位申报材料
2014/05/08 职场文书
应届本科毕业生求职信
2014/07/23 职场文书
感恩主题班会教案
2015/08/12 职场文书
导游词之上海东方明珠塔
2019/09/25 职场文书
Django 实现jwt认证的示例
2021/04/30 Python
MySQL EXPLAIN输出列的详细解释
2021/05/12 MySQL