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 相关文章推荐
smarty实例教程
Nov 19 PHP
PHP 向右侧拉菜单实现代码,测试使用中
Nov 03 PHP
PHP解密Unicode及Escape加密字符串
May 17 PHP
PHP Opcache安装和配置方法介绍
May 28 PHP
编写PHP脚本清除WordPress头部冗余代码的方法讲解
Mar 01 PHP
Symfony2学习笔记之插件格式分析
Mar 17 PHP
phplist及phpmailer(组合使用)通过gmail发送邮件的配置方法
Mar 30 PHP
轻松掌握php设计模式之访问者模式
Sep 23 PHP
详细解读php的命名空间(一)
Feb 21 PHP
Docker搭建自己的PHP开发环境
Feb 24 PHP
PHPStudy下如何为Apache安装SSL证书的方法步骤
Jan 23 PHP
浅谈laravel-admin form中的数据,在提交后,保存前,获取并进行编辑
Oct 21 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入门
2006/10/09 PHP
PHP 反向排序和随机排序代码
2010/06/30 PHP
关于javascript中的parseInt使用技巧
2009/09/03 Javascript
JavaScript对内存分配及管理机制详细解析
2013/11/11 Javascript
IE中JS跳转丢失referrer问题的2个解决方法
2014/07/18 Javascript
jQuery控制cookie过期时间的方法
2015/04/07 Javascript
jQuery+CSS实现的网页二级下滑菜单效果
2015/08/25 Javascript
使用jquery实现鼠标滑过弹出更多相关信息层附源码下载
2015/11/23 Javascript
jQuery 1.9.1源码分析系列(十五)动画处理之缓动动画核心Tween
2015/12/03 Javascript
jQuery插件实现带圆点的焦点图片轮播切换
2016/01/18 Javascript
客户端验证用户名和密码的方法详解
2016/06/16 Javascript
jQuery 更改checkbox的状态,无效的解决方法
2016/07/22 Javascript
JS实现类似51job上的地区选择效果示例
2016/11/17 Javascript
浅谈angularJS2中的界面跳转方法
2018/08/31 Javascript
vue自定义全局共用函数详解
2018/09/18 Javascript
如何安装控制器JavaScript生成插件详解
2018/10/21 Javascript
React手稿之 React-Saga的详解
2018/11/12 Javascript
深入了解JavaScript代码覆盖
2019/06/13 Javascript
使用异步controller与jQuery实现卷帘式分页
2019/06/18 jQuery
js实现无限层级树形数据结构(创新算法)
2020/02/27 Javascript
uniapp微信小程序:key失效的解决方法
2021/01/20 Javascript
Python中使用插入排序算法的简单分析与代码示例
2016/05/04 Python
Python实现按特定格式对文件进行读写的方法示例
2017/11/30 Python
详细解读tornado协程(coroutine)原理
2018/01/15 Python
python+tkinter编写电脑桌面放大镜程序实例代码
2018/01/16 Python
python匿名函数用法实例分析
2019/08/03 Python
django项目中使用手机号登录的实例代码
2019/08/15 Python
python 输出列表元素实例(以空格/逗号为分隔符)
2019/12/25 Python
python判断字符串以什么结尾的实例方法
2020/09/18 Python
用Python实现定时备份Mongodb数据并上传到FTP服务器
2021/01/27 Python
百度JavaScript笔试题
2015/01/15 面试题
营销总经理的岗位职责
2013/12/15 职场文书
历史专业个人求职信分享
2013/12/20 职场文书
地理教师岗位职责
2014/03/16 职场文书
食堂管理制度范本
2015/08/04 职场文书
【海涛解说】pis亲自推荐,其实你从来不会玩NW
2022/04/01 DOTA