使用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 相关文章推荐
在Windows中安装Apache2和PHP4的权威指南
Oct 09 PHP
php桌面中心(二) 数据库写入
Mar 11 PHP
在PHP中养成7个面向对象的好习惯
Jan 28 PHP
PHP $_FILES函数详解
Mar 09 PHP
php curl模拟post请求小实例
Nov 13 PHP
PHP中常用的转义函数
Feb 28 PHP
为PHP安装imagick时出现Cannot locate header file MagickWand.h错误的解决方法
Nov 03 PHP
thinkphp使用phpmailer发送邮件的方法
Nov 24 PHP
PHP中实现获取IP和地理位置类分享
Feb 10 PHP
1亿条数据如何分表100张到Mysql数据库中(PHP)
Jul 29 PHP
详解laravel安装使用Passport(Api认证)
Jul 27 PHP
PHP删除数组中指定值的元素常用方法实例分析【4种方法】
Aug 21 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
追求程序速度,而不是编程的速度
2008/04/23 PHP
基于curl数据采集之正则处理函数get_matches的使用
2013/04/28 PHP
PHP的error_reporting错误级别变量对照表
2014/07/08 PHP
对php 判断http还是https,以及获得当前url的方法详解
2019/01/15 PHP
sina的lightbox效果。
2007/01/09 Javascript
JavaScript实现的日期控件具体代码
2013/11/18 Javascript
浅析jquery某一元素重复绑定的问题
2014/01/03 Javascript
jquery下拉select控件操作方法分享(jquery操作select)
2014/03/25 Javascript
jQuery中多个元素的Hover事件解决方案
2014/06/12 Javascript
基于RequireJS和JQuery的模块化编程日常问题解析
2016/04/14 Javascript
JS上传组件FileUpload自定义模板的使用方法
2016/05/10 Javascript
所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解
2016/05/27 Javascript
javascript读取文本节点方法小结
2016/12/15 Javascript
详解webpack require.ensure与require AMD的区别
2017/12/13 Javascript
使用vue-aplayer插件时出现的问题的解决
2018/03/02 Javascript
Vue中Quill富文本编辑器的使用教程
2018/09/21 Javascript
JS实现数组去重及数组内对象去重功能示例
2019/02/02 Javascript
在react中使用vue的状态管理的方法示例
2020/05/02 Javascript
微信小程序自定义支持图片的弹窗
2020/12/21 Javascript
Python中的pass语句使用方法讲解
2015/05/14 Python
python中如何使用分步式进程计算详解
2019/03/22 Python
Python文件路径名的操作方法
2019/10/30 Python
解决Tensorflow2.0 tf.keras.Model.load_weights() 报错处理问题
2020/06/12 Python
基于Python爬取fofa网页端数据过程解析
2020/07/13 Python
Numpy(Pandas)删除全为零的列的方法
2020/09/11 Python
详解pycharm自动import所需的库的操作方法
2020/11/30 Python
丝芙兰法国官网:SEPHORA法国
2016/09/01 全球购物
Vans英国官方网站:美国南加州的原创极限运动潮牌
2017/01/20 全球购物
马来西亚时装购物网站:ZALORA马来西亚
2017/03/14 全球购物
Office DEPOT法国官网:欧迪办公用品采购
2018/01/03 全球购物
介绍一下grep命令的使用
2015/06/12 面试题
2014基层党员干部学习全国两会心得体会
2014/03/17 职场文书
招股说明书范本
2014/05/06 职场文书
“四风”问题自我剖析材料思想汇报
2014/09/23 职场文书
《神奇的鸟岛》教学反思
2016/02/22 职场文书
pytorch 使用半精度模型部署的操作
2021/05/24 Python