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 smarty模版引擎中的缓存应用
Dec 02 PHP
PHP垃圾回收机制简单说明
Jul 22 PHP
PHP 设计模式之观察者模式介绍
Feb 22 PHP
php json_encode()函数返回json数据实例代码
Oct 10 PHP
PHP中使用hidef扩展代替define提高性能
Apr 09 PHP
PHP Reflection API详解
May 12 PHP
ThinkPHP函数详解之M方法和R方法
Sep 10 PHP
Discuz!X中SESSION机制实例详解
Sep 23 PHP
在PHP站点的页面上添加Facebook评论插件的实例教程
Jan 08 PHP
PHP控制前台弹出对话框的实现方法
Aug 21 PHP
Laravel5中防止XSS跨站攻击的方法
Oct 10 PHP
php字符串函数 str类常见用法示例
May 15 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
调整优化您的LAMP应用程序的5种简单方法
2011/06/26 PHP
MacOS 安装 PHP的图片裁剪扩展Tclip
2015/03/25 PHP
ThinkPHP安装和设置
2015/07/27 PHP
学习php设计模式 php实现建造者模式
2015/12/07 PHP
实例详解PHP中html word 互转的方法
2016/01/28 PHP
tp5.1 框架数据库高级查询技巧实例总结
2020/05/25 PHP
jquery1.4 教程二 ajax方法的改进
2010/02/25 Javascript
通过length属性判断jquery对象是否存在
2013/10/18 Javascript
node.js中的path.sep方法使用说明
2014/12/08 Javascript
学做Bootstrap的第一个页面
2016/05/15 HTML / CSS
JavaScript中的Number数字类型学习笔记
2016/05/26 Javascript
基于JavaScript实现前端文件的断点续传
2016/10/17 Javascript
jQuery中select与datalist制作下拉菜单时的区别浅析
2016/12/30 Javascript
JS区分Object与Aarry的六种方法总结
2017/02/27 Javascript
浅谈Vue路由快照实现思路及其问题
2018/06/07 Javascript
如何从0开始用node写一个自己的命令行程序
2018/12/29 Javascript
微信小程序的mpvue框架快速上手指南
2019/05/15 Javascript
layui问题之模拟table表格中的选中按钮选中事件的方法
2019/09/20 Javascript
在Layui中实现开关按钮的效果实例
2019/09/29 Javascript
Vue+Element-UI实现上传图片并压缩
2019/11/26 Javascript
在Vue中实现随hash改变响应菜单高亮
2020/03/09 Javascript
开发Node CLI构建微信小程序脚手架的示例
2020/03/27 Javascript
Python实现读取字符串按列分配后按行输出示例
2018/04/17 Python
解决Python安装后pip不能用的问题
2018/06/12 Python
Python assert语句的简单使用示例
2019/07/28 Python
python根据字典的键来删除元素的方法
2020/08/16 Python
java字符串格式化输出实例讲解
2021/01/06 Python
独特的礼品和创新的科技产品:The Grommet
2018/02/24 全球购物
英国游戏机和游戏购物网站:365games.co.uk
2018/06/18 全球购物
校长就职演讲稿
2014/01/06 职场文书
电信营业员自我评价分享
2014/01/17 职场文书
坚定理想信念心得体会
2014/03/11 职场文书
求职信名称怎么写
2014/05/26 职场文书
初中学习计划书范文
2014/09/15 职场文书
预备党员群众路线教育实践活动思想汇报2014
2014/10/25 职场文书
上课说话检讨书
2015/01/27 职场文书