<?php
class Mobile_Detect
{
protected $accept;
protected $userAgent;
protected $isMobile = false;
protected $isAndroid = null;
protected $isAndroidtablet = null;
protected $isIphone = null;
protected $isIpad = null;
protected $isBlackberry = null;
protected $isBlackberrytablet = null;
protected $isOpera = null;
protected $isPalm = null;
protected $isWindows = null;
protected $isWindowsphone = null;
protected $isGeneric = null;
protected $devices = array(
"android" => "android.*mobile",
"androidtablet" => "android(?!.*mobile)",
"blackberry" => "blackberry",
"blackberrytablet" => "rim tablet os",
"iphone" => "(iphone|ipod)",
"ipad" => "(ipad)",
"palm" => "(avantgo|blazer|elaine|hiptop|palm|plucker|xiino)",
"windows" => "windows ce; (iemobile|ppc|smartphone)",
"windowsphone" => "windows phone os",
"generic" => "(kindle|mobile|mmp|midp|pocket|psp|symbian|smartphone|treo|up.browser|up.link|vodafone|wap|opera mini)"
);
public function __construct()
{
$this->userAgent = $_SERVER['HTTP_USER_AGENT'];
$this->accept = $_SERVER['HTTP_ACCEPT'];
if (isset($_SERVER['HTTP_X_WAP_PROFILE']) || isset($_SERVER['HTTP_PROFILE'])) {
$this->isMobile = true;
} elseif (strpos($this->accept, 'text/vnd.wap.wml') > 0 || strpos($this->accept, 'application/vnd.wap.xhtml+xml') > 0) {
$this->isMobile = true;
} else {
foreach ($this->devices as $device => $regexp) {
if ($this->isDevice($device)) {
$this->isMobile = true;
}
}
}
}
/**
* Overloads isAndroid() | isAndroidtablet() | isIphone() | isIpad() | isBlackberry() | isBlackberrytablet() | isPalm() | isWindowsphone() | isWindows() | isGeneric() through isDevice()
*
* @param string $name
* @param array $arguments
* @return bool
*/
public function __call($name, $arguments)
{
$device = substr($name, 2);
if ($name == "is" . ucfirst($device) && array_key_exists(strtolower($device), $this->devices)) {
return $this->isDevice($device);
} else {
trigger_error("Method $name not defined", E_USER_WARNING);
}
}
/**
* Returns true if any type of mobile device detected, including special ones
* @return bool
*/
public function isMobile()
{
return $this->isMobile;
}
protected function isDevice($device)
{
$var = "is" . ucfirst($device);
$return = $this->$var === null ? (bool) preg_match("/" . $this->devices[strtolower($device)] . "/i", $this->userAgent) : $this->$var;
if ($device != 'generic' && $return == true) {
$this->isGeneric = false;
}
return $return;
}
}
Include and instantiate the class:
include("Mobile_Detect.php");
$detect = new Mobile_Detect();
Check for a specific platform:
if ($detect->isAndroid()) {
// code to run for the Google Android platform
}
Available methods are isAndroid(), isAndroidtablet(), isIphone(), isIpad(), isBlackberry(), isBlackberrytablet(), isPalm(), isWindowsphone(), isWindows(), isGeneric(). Alternatively, if you are only interested in checking to see if the user is using a mobile device, without caring for specific platform:
if ($detect->isMobile()) {
// any mobile platform
}
分享到:
相关推荐
Mobile Detect是一个PHP类,通过User-Agent检测各种手机设备,并结合HTTP Header来检测移动设备环境。该类库最强大的地方是,它有一个非常完整的库,可以检测出所用的设备类型(包括操作类型、以及手机品牌等都能...
Mobile_Detect库的核心在于它能够检测多种设备特征,包括但不限于设备制造商(如Apple、Samsung)、操作系统(iOS、Android、Windows Phone)、设备类型(手机、平板、桌面电脑)以及浏览器类型。这些信息对于响应式...
《PHP Mobile:利用Mobile-Detect库检测移动设备访问》 在现代互联网开发中,随着智能手机和平板电脑的普及,响应式网页设计变得至关重要。开发者需要根据用户所使用的设备类型提供不同的展示方式,以确保最佳的...
Mobile-Detect的主要功能在于其强大的设备识别能力。它不仅能够识别各种智能手机和平板电脑,如iPhone、iPad、Android设备等,还能区分不同的操作系统,如iOS、Android、Windows Phone等。这使得开发者可以针对性地...
js 获取设备信息;文章:《js获取PC设备信息,js获取手机设备信息,最全》https://blog.csdn.net/cplvfx/article/details/117807449
include('sstn/mobile_device_detect.php'); mobile_device_detect(false,true,true,'m/index.php',false); 2、上传附件中的mobile_device_detect.php到sstn目录。没有就在根目录新建一个。 说明。代码中的"m...
获取手机系统和型号等的一个插件,特别简单和好用!!!
Mobile Detect类是一种工具,可以帮助您使用RWD策略,它不能替代CSS3媒体查询或其他形式的客户端功能检测。 怎么样 我们致力于使Mobile_Detect成为最佳的开源移动检测资源,这就是为什么在每个版本之前我们都要...
【Laravel开发-laravel-mobile-detect】是一个专为Laravel框架设计的扩展包,用于实现对用户设备的即时移动检测。在现代Web开发中,针对不同设备(如桌面、手机和平板)提供优化的用户体验至关重要。`laravel-mobile...
Mobile Detect是一个PHP类,通过User-Agent检测各种手机设备,并结合HTTP Header来检测移动设备环境。该类库最强大的地方是,它有一个非常完整的库,可以检测出所用的设备类型(包括操作类型、以及手机品牌等都能...
$detect = new Mobile_Detect(); ``` 接下来,你可以使用 `isMobileDevice()`、`isTabletDevice()` 和 `isDesktopDevice()` 方法来检查用户设备类型: ```php if ($detect->isMobileDevice()) { echo '用户正在...
mobile-detect.js 到JavaScript的松散端口。 该脚本将通过将模式与给定的User-Agent字符串进行比较来检测设备。 您可以找到有关渲染网页的设备的信息: 是否移动如果是手机,无论是手机还是平板电脑操作系统备注:这...
nuxt-mobile-detect增加了〜27.5kb的开销,而@nuxtjs/device只增加了@nuxtjs/device ,许多项目将不需要mobile-detect.js的全部功能,而@nuxtjs/device可以满足其用例。 设置 使用npm或yarn添加nuxt-mobile-detect...
npm install mobile-device-detect --save or yarn add mobile-device-detect 用法 将任何帮助程序导入您的组件,例如,在Vue.js中: < script > import { isMobile } from 'mobile-device-detect' ; export...
安装ipub / mobile-detect的最佳方法是使用 : $ composer require ipub/mobile-detect 之后,您必须在config.neon中注册扩展名。 extensions : mobileDetect : IPub\MobileDetect\DI\MobileDetectExtension ...
用法import useMobileDetect from 'use-mobile-detect-hook' ;function MyComponent = ( props ) => { const detectMobile = useMobileDetect ( ) ; return ( < div> is Mobile: { detectMobile . isMobile ( ) } ...
php开发 登陆后识别是电脑还是手机 include(\ mobile_device_detect.php\ ) mobile_device_detect(true,true,true,true,true,true,"\ http://micjp.dyndns.info\ ",false)
这个话题源于"mobile_detect_node"项目,它利用了名为MobileDetect的模块来识别用户设备,从而实现响应式设计或特定设备的优化。我们将详细解释项目的安装过程、运行方式以及如何有效地组织代码,以减少重复。 首先...
为了使用Mobile Detect,开发者首先需要下载并包含Mobile Detect类库到项目中。使用require_once语句引入Mobile_Detect.php文件,然后创建Mobile_Detect类的实例。之后,就可以调用该类提供的各种方法来判断设备类型...
// The current version of Mobile Detect class that // is being exported. 'version' => $detect->getScriptVersion(), // All headers that trigger 'isMobile' to be 'true', // ...