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 相关文章推荐
汉字转化为拼音(php版)
Oct 09 PHP
用定制的PHP应用程序来获取Web服务器的状态信息
Oct 09 PHP
PHP中PDO的错误处理
Sep 04 PHP
通过缓存数据库结果提高PHP性能的原理介绍
Sep 05 PHP
thinkphp3查询mssql数据库乱码解决方法分享
Feb 11 PHP
php实现批量压缩图片文件大小的脚本
Jul 04 PHP
PHP中isset与array_key_exists的区别实例分析
Jun 02 PHP
浅谈PDO的rowCount函数
Jun 18 PHP
PHP消息队列用法实例分析
Feb 12 PHP
Laravel 5.3 学习笔记之 错误&amp;日志
Aug 28 PHP
php将服务端的文件读出来显示在web页面实例
Oct 31 PHP
PHP错误提示It is not safe to rely on the system……的解决方法
Mar 25 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(3)
2006/10/09 PHP
Mysql数据库操作类( 1127版,提供源码下载 )
2010/12/02 PHP
Windows下php+mysql5.7配置教程
2017/05/16 PHP
巧妙破除网页右键禁用的十大绝招
2006/08/12 Javascript
用javascript实现页面打印的三种方法
2007/03/05 Javascript
Jquery选中或取消radio示例
2013/09/29 Javascript
基于jquery实现的文字向上跑动类似跑马灯的效果
2014/06/17 Javascript
js倒计时抢购实例
2015/12/20 Javascript
基于javascript实现图片预加载
2016/01/05 Javascript
NodeJS实现客户端js加密
2017/01/09 NodeJs
AngularJS自定义指令实现面包屑功能完整实例
2017/05/17 Javascript
jQuery NProgress.js加载进度插件的简单使用方法
2018/01/31 jQuery
node.js实现为PDF添加水印的示例代码
2018/12/05 Javascript
在Vue中用canvas实现二维码和图片合成海报的方法
2019/06/10 Javascript
layui实现数据表格隐藏列的示例
2019/10/25 Javascript
vue基于Echarts的拖拽数据可视化功能实现
2020/12/04 Vue.js
[00:36]DOTA2上海特级锦标赛 Alliance战队宣传片
2016/03/04 DOTA
Python下的subprocess模块的入门指引
2015/04/16 Python
Python简单遍历字典及删除元素的方法
2016/09/18 Python
Python如何快速实现分布式任务
2017/07/06 Python
Python下载网络小说实例代码
2018/02/03 Python
python合并同类型excel表格的方法
2018/04/01 Python
numpy的文件存储.npy .npz 文件详解
2018/07/09 Python
Tensorflow加载预训练模型和保存模型的实例
2018/07/27 Python
Python二叉树的遍历操作示例【前序遍历,中序遍历,后序遍历,层序遍历】
2018/12/24 Python
python3.7实现云之讯、聚合短信平台的短信发送功能
2019/09/26 Python
Pytorch转onnx、torchscript方式
2020/05/25 Python
Html5应用程序缓存(Cache manifest)
2018/06/04 HTML / CSS
英国花园药房: The Garden Pharmacy
2017/12/28 全球购物
Viking比利时:购买办公用品
2019/10/30 全球购物
离婚协议书范文2014
2014/10/16 职场文书
大学生学期个人总结
2015/02/12 职场文书
小学思想品德教学反思
2016/02/24 职场文书
高一英语教学反思
2016/03/03 职场文书
2019送给家人们的中秋节祝福语
2019/08/15 职场文书
MySQL详解进行JDBC编程与增删改查方法
2022/06/16 MySQL