PHP检测移动设备类mobile detection使用实例

目前,一个网站有多个版本是很正常的,如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是一个移动设备检测平台,随着科技的进步会有不同的设备出现,因此你需要随时更新类库,这样才能保证检测的准确性。

http://www.jb51.net/article/48991.htm

时间: 2024-10-12 18:04:55

PHP检测移动设备类mobile detection使用实例的相关文章

移动设备类

<?php /** * MIT License * =========== * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, incl

使用python检测一个设备是否ping的通

使用python检测一个设备是否ping的通 一,subprocess以及常用的封装函数 运行python的时候,我们都是在创建并运行一个进程.像Linux进程那样,一个进程可以fork一个子进程,并让这个子进程exec另外一个程序.在Python中,我们通过标准库中的subprocess包来fork一个子进程,并运行一个外部的程序. subprocess 包中定义有数个创建子进程的函数,这些函数分别以不同的方式创建子进程,所以我们可以根据需要来从中选取一个使用.另外subprocess还提供了

语义分割(semantic segmentation) 常用神经网络介绍对比-FCN SegNet U-net DeconvNet,语义分割,简单来说就是给定一张图片,对图片中的每一个像素点进行分类;目标检测只有两类,目标和非目标,就是在一张图片中找到并用box标注出所有的目标.

from:https://blog.csdn.net/u012931582/article/details/70314859 2017年04月21日 14:54:10 阅读数:4369 前言 在这里,先介绍几个概念,也是图像处理当中的最常见任务. 语义分割(semantic segmentation) 目标检测(object detection) 目标识别(object recognition) 实例分割(instance segmentation) 语义分割 首先需要了解一下什么是语义分割(s

vc检测USB设备插入或移除

vc检测USB设备插入或移除[喝小酒的网摘]http://blog.hehehehehe.cn/a/412.htm 1.添加消息映射 消息映射BEGIN_MESSAGE_MAP(CONSTNETCNDlg, CDialog)//{{AFX_MSG_MAP(CONSTNETCNDlg)ON_WM_PAINT()ON_WM_QUERYDRAGICON()...ON_WM_DEVICECHANGE()//}}AFX_MSG_MAP 声明消息响应函数:afx_msg BOOL OnDeviceChang

检测系统设备是pc端还是移动端

var system = { win: false, mac: false, xll: false }; // 检测各设备 var pf = navigator.platform; system.win = pf.indexOf("Win") == 0; system.mac = p.indexOf("Mac") == 0; system.xll = (pf == "X11") || (pf.indexOf("Linux")

在linux(Ubuntu)下检测USB设备的插入和移除

此代码用于检测USB设备的插入,拔出,在Ubuntu下测试通过 #!/usr/bin/env python import glib #apt-get install python-gudev import gudev import pynotify import sys def callback(client, action, device, user_data):     device_vendor = device.get_property("ID_VENDOR_ENC")    

directX枚举系统设备类

void CSysEnumDlg::DisplayFullCategorySet(void){    USES_CONVERSION; HRESULT hr;    IEnumMoniker *pEmCat = 0;    ICreateDevEnum *pCreateDevEnum = NULL;    int nClasses=0; // Create an enumerator    hr = CoCreateInstance(CLSID_SystemDeviceEnum, NULL, C

directX根据设备类GUID查询所属的filter

hr = m_pSysDevEnum->CreateClassEnumerator(*clsid, &pEnumCat, 0);    ASSERT(SUCCEEDED(hr));    if FAILED(hr)        return; // Enumerate all filters using the category enumerator    hr = EnumFilters(pEnumCat); IBaseFilter *buf[20]; HRESULT CSysEnumD

[BLE--HID]USB HID设备类定义

简述 HID设备,即人机交互设备,常见的有鼠标,键盘,游戏手柄,等等.一般有线方式都是通过USB连线连接到机器设备,作为用户输入设备.在蓝牙技术中,HID设备的接入就是无线的了.不过HID的相关定义当然还是一样的,不然设备驱动,兼容等问题都会有很多麻烦了.蓝牙中有HID, HOGP profile,但是只是在蓝牙数据通信上做的规范,HID具体含义相关,还是需要看USB相关的HID文档. USB设备类? USB设备可以在启动时,或者是在之后的连接状态下,都能够被主机进行配置.USB设备种类是非常多