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中用文本文件做数据库的实现方法
Mar 27 PHP
php+mysql写的简单留言本实例代码
Jul 25 PHP
php excel类 phpExcel使用方法介绍
Aug 21 PHP
PHP跨时区(UTC时间)应用解决方案
Jan 11 PHP
PHP获取当前日期所在星期(月份)的开始日期与结束日期(实现代码)
Jun 18 PHP
PHP与Java进行通信的实现方法
Oct 21 PHP
PHP统一页面编码避免乱码问题
Apr 09 PHP
Yii2框架引用bootstrap中日期插件yii2-date-picker的方法
Jan 09 PHP
php实现在新浪云中使用imagick生成缩略图并上传的方法
Sep 26 PHP
php下载文件超时时间的设置方法
Oct 06 PHP
PHP使用数组实现矩阵数学运算的方法示例
May 29 PHP
通过代码实例解析PHP session工作原理
Dec 11 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使用$_POST或$_SESSION[]向js函数传参
2014/09/16 PHP
phpmyadmin提示The mbstring extension is missing的解决方法
2014/12/17 PHP
ThinkPHP项目分组配置方法分析
2016/03/23 PHP
javascript全局变量封装模块实现代码
2012/11/28 Javascript
js 通过html()及text()方法获取并设置p标签的显示值
2014/05/14 Javascript
用js代码和插件实现wordpress雪花飘落效果的四种方法
2014/12/15 Javascript
JS打开新窗口防止被浏览器阻止的方法
2015/01/03 Javascript
JS文字球状放大效果代码分享
2015/08/19 Javascript
详解JavaScript数组的操作大全
2015/10/19 Javascript
jQuery绑定事件监听bind和移除事件监听unbind用法实例详解
2016/01/19 Javascript
Angularjs实现mvvm式的选项卡示例代码
2016/09/08 Javascript
jQuery点击头像上传并预览图片
2017/02/23 Javascript
JS中使用 after 伪类清除浮动实例
2017/03/01 Javascript
VueJS 取得 URL 参数值的方法
2019/07/19 Javascript
JavaScript自定义超时API代码实例
2020/04/30 Javascript
ant-design-vue按需加载的坑的解决
2020/05/14 Javascript
vue实现户籍管理系统
2020/05/29 Javascript
js数组的基本使用总结
2021/01/18 Javascript
微信小程序组件生命周期的踩坑记录
2021/03/03 Javascript
在Python中关于中文编码问题的处理建议
2015/04/08 Python
Python中BeautifuSoup库的用法使用详解
2019/11/15 Python
Python实现不规则图形填充的思路
2020/02/02 Python
python numpy库linspace相同间隔采样的实现
2020/02/25 Python
Python实现文件压缩和解压的示例代码
2020/08/12 Python
Vs Code中8个好用的python 扩展插件
2020/10/12 Python
在终端启动Python时报错的解决方案
2020/11/20 Python
利用Python实现最小二乘法与梯度下降算法
2021/02/21 Python
欧尚俄罗斯网上超市:Auchan俄罗斯
2018/05/03 全球购物
软件测试工程师笔试题带答案
2015/03/27 面试题
个人实用的自我评价范文
2013/11/23 职场文书
综合办公室个人的自我评价
2013/12/22 职场文书
班主任自我评价范文
2015/03/11 职场文书
2015年综治维稳工作总结
2015/04/07 职场文书
决心书格式范文
2015/09/23 职场文书
Spring Security中用JWT退出登录时遇到的坑
2021/10/16 Java/Android
MySQL运行报错:“Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre”解决方法
2022/06/14 MySQL