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 相关文章推荐
模拟OICQ的实现思路和核心程序(二)
Oct 09 PHP
php 破解防盗链图片函数
Dec 09 PHP
PHP开发不能违背的安全规则 过滤用户输入
May 01 PHP
php缓存技术详细总结
Aug 07 PHP
PHP获取youku视频真实flv文件地址的方法
Dec 23 PHP
PHP常用的小程序代码段
Nov 14 PHP
学习php设计模式 php实现工厂模式(factory)
Dec 07 PHP
利用php的ob缓存机制实现页面静态化方法
Jul 09 PHP
Thinkphp3.2简单解决多文件上传只上传一张的问题
Sep 26 PHP
Yii2.0实现生成二维码功能实例
Oct 24 PHP
PHP如何实现订单的延时处理详解
Dec 30 PHP
一文掌握PHP Xdebug 本地与远程调试(小结)
Apr 23 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处理json时中文问题的解决方法
2011/04/12 PHP
在Windows XP下安装Apache+MySQL+PHP环境
2015/02/22 PHP
php实现三级级联下拉框
2016/04/17 PHP
Swoole 5将移除自动添加Event::wait()特性详解
2019/07/10 PHP
Laravel 默认邮箱登录改成用户名登录的实现方法
2019/08/12 PHP
js压缩利器
2007/02/20 Javascript
javascript中使用css需要注意的地方小结
2010/09/01 Javascript
Javascript自定义排序 node运行 实例
2013/06/05 Javascript
jQuery实现简易的输入框字数计数功能示例
2017/01/16 Javascript
详解React-Native解决键盘遮挡问题(Keyboard遮挡问题)
2017/07/13 Javascript
让nodeJS支持ES6的词法----babel的安装和使用方法
2017/07/31 NodeJs
es6中的解构赋值、扩展运算符和rest参数使用详解
2017/09/28 Javascript
微信小程序网络封装(简单高效)
2018/08/06 Javascript
在vue中使用G2图表的示例代码
2019/03/19 Javascript
js中async函数结合promise的小案例浅析
2019/04/14 Javascript
一百行JS代码实现一个校验工具
2019/04/30 Javascript
详解vue 图片上传功能
2019/04/30 Javascript
原生js实现抽奖小游戏
2019/06/27 Javascript
vue 更改连接后台的api示例
2019/11/11 Javascript
JS内置对象和Math对象知识点详解
2020/04/03 Javascript
Vue路由切换页面不更新问题解决方案
2020/07/10 Javascript
python对DICOM图像的读取方法详解
2017/07/17 Python
PyQt5每天必学之创建窗口居中效果
2018/04/19 Python
在python下读取并展示raw格式的图片实例
2019/01/24 Python
对django后台admin下拉框进行过滤的实例
2019/07/26 Python
在django中自定义字段Field详解
2019/12/03 Python
pytorch中的transforms模块实例详解
2019/12/31 Python
Python监听剪切板实现方法代码实例
2020/11/11 Python
Javascript如何发送一个Ajax请求
2015/01/26 面试题
职高毕业生自我鉴定
2013/10/21 职场文书
平面设计师岗位职责
2014/09/18 职场文书
2014年信息技术工作总结
2014/12/16 职场文书
个人收入证明范本
2015/06/12 职场文书
祝福语集锦:给满月宝宝的祝福语
2019/11/20 职场文书
python实现自定义日志的具体方法
2021/05/28 Python
详解nginx进程锁的实现
2021/06/14 Servers