PHP检测移动设备类mobile detection使用实例


Posted in PHP onApril 14, 2014

目前,一个网站有多个版本是很正常的,如PC版,3G版,移动版等等。根据不同的浏览设备我们需要定向到不同的版本中。不仅如此,我们有时候还需要根据不同的客户端加载不同的CSS,因此我们需要能够检测浏览设备,SO,我们就需要用到“mobile detection”类库。

“mobile detection”是一个轻量级移动设备检测的PHP类库,它采用结合特定的HTTP标头中的User-Agent字符串来检测移动客户端环境。注意,mobile detection 只是一个服务器端(PHP)的检测工具,并不能代替响应式Web设计或其他任何形式的客户端功能检测。

mobile detection 类库下载地址:https://github.com/serbanghita/Mobile-Detect

实例1:根据设备重定向到其他版本

当我们使用移动设备浏览某网站时,需要定向到该网站的移动版,首先将具有检测功能的文件Mobile_Detect.php包含到网页中或主页中,现在我们来实现浏览www.uncletoo.com网站时重定向到m.uncletoo.com中:

/*根据文件位置更改路径信息*/
require_once 'Mobile_Detect.php';
$detect = new Mobile_Detect;
if($detect->isMobile()) {
    header('Location: http://m.uncletoo.com/');
    exit;
}
这是定向到移动网站,下面还有其他形式的重定向:
//所有平板设备
if( $detect->isTablet()) {
}
//是移动但非平板设备
if( $detect->isMobile() && !$detect->isTablet()) {
}
//IOS系统
if( $detect->isiOS()) {
}
//Android系统
if( $detect->isAndroidOS()) {
}
//WindowsPhone系统
if( $detect->isWindowsPhoneOS()) {
}

实例2:根据不同设备加载不同资源

如上所述,我们还可以根据不同的浏览设备加载不同的CSS文件。如:

$detect = new Mobile_Detect;
if($detect->isMobile() || $detect->isTablet()) {
    echo "<link rel='stylesheet' href='mobile.css type='text/css' />";
} else {
    echo "<link rel='stylesheet' href='style.css type='text/css' />";
}

注意,mobile detection是一个移动设备检测平台,随着科技的进步会有不同的设备出现,因此你需要随时更新类库,这样才能保证检测的准确性。

 

PHP 相关文章推荐
用Socket发送电子邮件(利用需要验证的SMTP服务器)
Oct 09 PHP
php缓存技术介绍
Nov 25 PHP
上传多个文件的PHP脚本
Nov 26 PHP
ThinkPHP关联模型操作实例分析
Sep 23 PHP
解析如何修改phpmyadmin中的默认登陆超时时间
Jun 25 PHP
php中调用其他系统http接口的方法说明
Feb 28 PHP
php面向对象中的魔术方法中文说明
Mar 04 PHP
CI框架常用方法小结
May 17 PHP
深入理解PHP 数组之count 函数
Jun 13 PHP
PHP上传图片时判断上传文件是否为可用图片的方法
Oct 20 PHP
PHP实现防盗链的方法分析
Jul 25 PHP
Yii2.0框架实现带分页的多条件搜索功能示例
Feb 20 PHP
PHP删除数组中空值的方法介绍
Apr 14 #PHP
PHP批量删除、清除UTF-8文件BOM头的代码实例
Apr 14 #PHP
thinkphp实现数组分页示例
Apr 13 #PHP
不使用php api函数实现数组的交换排序示例
Apr 13 #PHP
php读取大文件示例分享(文件操作类)
Apr 13 #PHP
php使用smtp发送支持附件的邮件示例
Apr 13 #PHP
php实现上传图片生成缩略图示例
Apr 13 #PHP
You might like
php 网上商城促销设计实例代码
2012/02/17 PHP
初步介绍PHP扩展开发经验分享
2012/09/06 PHP
PHP+Mysql基于事务处理实现转账功能的方法
2015/07/08 PHP
如何在旧的PHP系统中使用PHP 5.3之后的库
2015/12/02 PHP
PHP中Enum(枚举)用法实例详解
2015/12/07 PHP
php微信开发之批量生成带参数的二维码
2016/06/26 PHP
javascript等号运算符使用详解
2015/04/16 Javascript
setTimeout内不支持jquery的选择器的解决方案
2015/04/28 Javascript
使用JavaScript的AngularJS库编写hello world的方法
2015/06/23 Javascript
jQuery可见性过滤器:hidden和:visibility用法实例
2015/06/24 Javascript
详解JavaScript设计模式开发中的桥接模式使用
2016/05/18 Javascript
jQuery遍历DOM的父级元素、子级元素和同级元素的方法总结
2016/07/07 Javascript
Angular 2应用的8个主要构造块有哪些
2016/10/17 Javascript
JavaScript实现邮箱地址自动匹配功能代码
2016/11/28 Javascript
Nodejs高扩展性的模板引擎 functmpl简介
2017/02/13 NodeJs
Node学习记录之cluster模块
2017/05/31 Javascript
pycharm 使用心得(四)显示行号
2014/06/05 Python
Python 搭建Web站点之Web服务器网关接口
2016/11/06 Python
Python更新数据库脚本两种方法及对比介绍
2017/07/27 Python
python指定写入文件时的编码格式方法
2018/06/07 Python
Python基于最小二乘法实现曲线拟合示例
2018/06/14 Python
详解Python 正则表达式模块
2018/11/05 Python
python实现Flappy Bird源码
2018/12/24 Python
python算法题 链表反转详解
2019/07/02 Python
python requests库爬取豆瓣电视剧数据并保存到本地详解
2019/08/10 Python
python将三维数组展开成二维数组的实现
2019/11/30 Python
CSS3 优势以及网页设计师如何使用CSS3技术
2009/07/29 HTML / CSS
HTML5标签与HTML4标签的区别示例介绍
2013/07/18 HTML / CSS
HTML5中的Web Notification桌面通知功能的实现方法
2019/07/29 HTML / CSS
MATCHESFASHION澳大利亚/亚太地区:英国时尚奢侈品电商
2020/01/14 全球购物
汽车检测与维修专业求职信
2014/07/04 职场文书
党的群众路线教育实践活动个人对照检查材料(公安)
2014/11/05 职场文书
2014年小学英语教师工作总
2014/12/03 职场文书
php 防护xss,PHP的防御XSS注入的终极解决方案
2021/04/01 PHP
Python实现查询剪贴板自动匹配信息的思路详解
2021/07/09 Python
Python Django / Flask如何使用Elasticsearch
2022/04/19 Python