主页 » 建站笔记 » 正文

移动端网站建设必备:判断移动设备的php类mobile_detect.php

 bandian2015/03/16 16:08 3,941 ℃ 0条点评
小号字体中号字体大号字体
mobile_detect是一个轻量级的PHP类,它能够检测出来各种你听过的和没听过各种各种的手机和平板电脑,就是这么任性.网上相关的文章非常多,但是我这里还是记录...

mobile_detect是一个轻量级的PHP类,它能够检测出来各种你听过的和没听过各种各种的手机和平板电脑,就是这么任性.

网上相关的文章非常多,但是我这里还是记录一下,原因在这里说过.

mobile_detect的最新版本是2.8.11,能够看到QQ浏览器等都被收录在内了.

 

因为代码很长,这里就不贴了,相关链接在这里:

Homepage: http://mobiledetect.net
GitHub Repo: https://github.com/serbanghita/Mobile-Detect
Google Code: http://code.google.com/p/php-mobile-detect/

然后是一些简单的示例:

// 包含类文件并创建实例,这是必须的。
require_once 'Mobile_Detect.php';
$detect = new Mobile_Detect;
// 基本的检测
$detect->isMobile();
$detect->isTablet();
// Magic methods.
$detect->isIphone();
$detect->isSamsung();
// [...]
// 检测具体的设备
$detect->is('iphone');
// 检测设备的版本
$detect->version('Android');
// Additional match method.
$detect->match('regex.*here');
// Browser grade method.
$detect->mobileGrade();
// Batch methods.
$detect->setUserAgent($userAgent);
$detect->setHttpHeaders($httpHeaders);
// 检测为手机以后的处理
if ($detect->isMobile()) {
    // Your code here.
}
// 检测为平板以后的处理
if($detect->isTablet()){
    // Your code here.
}
// 检测除平板以外的所有移动设备
if ($detect->isMobile() && !$detect->isTablet()) {
    // Your code here.
}
//  将检测结果保存到 SESSION,以避免重复检测,提升效率
if(!$_SESSION['isMobile']){
    $_SESSION['isMobile'] = $detect->isMobile();
}
// 检测为手机,并跳转到手机网站
if($detect->isMobile()){
    header('http://m.yoursite.com', true, 301);
    exit;
}

记得引入文件使用include_once,我就出现过因为重复调用多次而报错的问题,还有子目录下调用要以这种方式调用:
include_once (realpath(dirname(dirname(__FILE__))).DIRECTORY_SEPARATOR.'Mobile_Detect.php');

为什么必须这样的原因我不知道,反正我直接使用下面这样调用会出错...
include '../Mobile_Detect.php';

上一篇:几段好用的判断手机平板等移动设备的php代码
下一篇:电脑上怎么调试手机端页面?试试chrome的User-Agent马甲
版权信息
本文遵循 BY-NC-SA 共享方式,永久链接:https://www.augsky.com/?p=747
转载请注明转自 » 格部落格 » 移动端网站建设必备:判断移动设备的php类mobile_detect.php

已有0条评论,欢迎点评!

骚年,现在来一发沙发就是你的。