使用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 相关文章推荐
PHP6 先修班 JSON实例代码
Aug 23 PHP
php 文件上传系统手记
Oct 26 PHP
php XPath对XML文件查找及修改实现代码
Jul 27 PHP
一个简单的php加密解密函数(动态加密)
Jun 19 PHP
PHP保存带BOM文件的方法
Feb 12 PHP
分享自定义的几个PHP功能函数
Apr 15 PHP
PHP也能干大事之PHP中的编码解码详解
Apr 20 PHP
ThinkPHP自定义函数解决模板标签加减运算的方法
Jul 03 PHP
启用Csrf后POST数据时出现的400错误
Jul 05 PHP
Yii2 rbac权限控制之rule教程详解
Jun 23 PHP
利用laravel搭建一个迷你博客实战教程
Aug 13 PHP
php框架CI(codeigniter)自动加载与自主创建对象操作实例分析
Jun 06 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
基于Zend的Captcha机制的应用
2013/05/02 PHP
PHP四大安全策略
2014/03/12 PHP
PHP5.3连接Oracle客户端及PDO_OCI模块的安装方法
2016/05/13 PHP
一个cssQuery对象 javascript脚本实现代码
2009/07/21 Javascript
显示今天的日期js代码(阳历和农历)
2014/09/30 Javascript
jQuery实现加入购物车飞入动画效果
2015/03/14 Javascript
javascript中的altKey 和 Event属性大全
2015/11/06 Javascript
Zero Clipboard实现浏览器复制到剪贴板的方法(多个复制按钮)
2016/03/24 Javascript
实例讲解JavaScript中instanceof运算符的用法
2016/06/08 Javascript
JS模仿腾讯图片站的图片翻页按钮效果完整实例
2016/06/21 Javascript
AngularJS 执行流程详细介绍
2016/08/18 Javascript
javascript代码调试之console.log 用法图文详解
2016/09/30 Javascript
AngularJS框架中的双向数据绑定机制详解【减少需要重复的开发代码量】
2017/01/19 Javascript
JavaScript实现反转字符串的方法详解
2017/04/27 Javascript
微信小程序学习总结(三)条件、模板、文件引用实例分析
2020/06/04 Javascript
Vue.js桌面端自定义滚动条组件之美化滚动条VScroll
2020/12/01 Vue.js
[42:48]完美世界DOTA2联赛PWL S3 Magma vs INK ICE 第二场 12.11
2020/12/16 DOTA
Python中的ceil()方法使用教程
2015/05/14 Python
在Python中实现替换字符串中的子串的示例
2018/10/31 Python
linux查找当前python解释器的位置方法
2019/02/20 Python
Python爬虫——爬取豆瓣电影Top250代码实例
2019/04/17 Python
用python做游戏的细节详解
2019/06/25 Python
python3.7简单的爬虫实例详解
2019/07/08 Python
python+opencv边缘提取与各函数参数解析
2020/03/09 Python
Css3圆角边框制作代码
2015/11/18 HTML / CSS
html5开发三八女王节表白神器
2018/03/07 HTML / CSS
当当网软件测试笔试题
2015/11/24 面试题
校园创业策划书
2014/01/14 职场文书
尽职尽责村干部自我鉴定
2014/01/23 职场文书
人力资源主管职责范本
2014/03/05 职场文书
保护环境的建议书
2014/03/12 职场文书
创业者迈进成功第一步:如何写创业计划书?
2014/03/22 职场文书
幼儿教师辞职信
2015/02/27 职场文书
2015年财务科工作总结范文
2015/05/13 职场文书
thinkphp 获取控制器及控制器方法
2021/04/16 PHP
Redis集群的关闭与重启操作
2021/07/07 Redis