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的超级变量$_GET获取HTML表单(Form) 数据
May 07 PHP
用PHP实现的四则运算表达式计算实现代码
Aug 02 PHP
PHP常用函数和常见疑难问题解答
Mar 05 PHP
PHP中比较两个字符串找出第一个不同字符位置例子
Apr 08 PHP
Laravel 4 初级教程之Pages、表单验证
Oct 30 PHP
php中mysql操作buffer用法详解
Mar 19 PHP
PHP版本如何选择?应该使用哪个版本?
May 13 PHP
PHP实现微信网页授权开发教程
Jan 19 PHP
CI框架数据库查询之join用法分析
May 18 PHP
Yii2中YiiBase自动加载类、引用文件方法分析(autoload)
Jul 25 PHP
php批量删除操作(数据访问)
May 23 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
Feb 07 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中的CMS的涵义
2007/03/11 PHP
Phpbean路由转发的php代码
2008/01/10 PHP
关于PHP内存溢出问题的解决方法
2013/06/25 PHP
PHP中创建图像并绘制文字的例子
2014/11/19 PHP
PHP判断网络文件是否存在的方法
2015/03/12 PHP
基于PHP代码实现中奖概率算法可用于刮刮卡、大转盘等抽奖算法
2015/12/20 PHP
php遍历目录下文件并按修改时间排序操作示例
2019/07/12 PHP
如何实现动态删除javascript函数
2007/05/27 Javascript
初学JavaScript第二章
2008/09/30 Javascript
jquery 触发a链接点击事件解决方案
2013/05/02 Javascript
JavaScript中使用Object.create()创建对象介绍
2014/12/30 Javascript
为什么JS中eval处理JSON数据要加括号
2015/04/13 Javascript
使用Sticky组件实现带sticky效果的tab导航和滚动导航的方法
2016/03/22 Javascript
jQuery.ajax实现根据不同的Content-Type做出不同的响应
2016/11/03 Javascript
Bootstrap基本样式学习笔记之图片(6)
2016/12/07 Javascript
Vue实现导出excel表格功能
2018/03/30 Javascript
JS 创建对象的模式实例小结
2020/04/28 Javascript
vue实现折线图 可按时间查询
2020/08/21 Javascript
[02:12]Dota 2 推出全新英雄—— 电炎绝手
2019/08/23 DOTA
[50:44]DOTA2-DPC中国联赛 正赛 SAG vs Dragon BO3 第二场 2月22日
2021/03/11 DOTA
python删除指定类型(或非指定)的文件实例详解
2015/07/06 Python
django配置连接数据库及原生sql语句的使用方法
2019/03/03 Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
2019/08/21 Python
Pycharm小白级简单使用教程
2020/01/08 Python
Python实现CNN的多通道输入实例
2020/01/17 Python
python实现opencv+scoket网络实时图传
2020/03/20 Python
完美解决ARIMA模型中plot_acf画不出图的问题
2020/06/04 Python
scrapy在python爬虫中搭建出错的解决方法
2020/11/22 Python
CSS Grid布局教程之网格单元格布局
2014/12/30 HTML / CSS
巧用CSS3的calc()宽度计算做响应模式布局的方法
2018/03/22 HTML / CSS
英国最大的电脑零售连锁店集团:PC World
2016/10/10 全球购物
Carolina工作鞋官网:Carolina Footwear
2019/03/14 全球购物
模具设计与制造专业应届生求职信
2013/10/18 职场文书
好员工观后感
2015/06/17 职场文书
Spring boot应用启动后首次访问很慢的解决方案
2021/06/23 Java/Android
python Django框架快速入门教程(后台管理)
2021/07/21 Python