Skip to content

Mobile_Detect is a lightweight PHP class for detecting mobile devices. It uses the User-Agent string combined with specific HTTP headers to detect the mobile environment.

Notifications You must be signed in to change notification settings

hexalys/Mobile-Detect

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Mobile Detect

The lightweight PHP class for detecting mobile devices.

Mobile_Detect is a lightweight PHP class for detecting mobile devices. It uses the user-agent string combined with specific HTTP headers to detect the mobile environment.

Note: this project is the same with http://code.google.com/p/php-mobile-detect/. We are keeping both repositories updated until the transition to GitHub is completed.

Sponsored by BrowserStack. BrowserStack is a complete browser coverage tool (including mobile devices) for testing you web application.

Roadmap and future development

We are preparing v.3.0 and we need your support!

Click here to lend your support to: Funding development of Mobile_Detect 3.0 and make a donation at www.pledgie.com !

Usage

Include and instantiate the class:

<?php
include 'Mobile_Detect.php';
$detect = new Mobile_Detect();

Basic usage, looking for mobile devices or tablets:

<?php
if ($detect->isMobile()) {
    // Any mobile device.
}
<?php
if($detect->isTablet()){
    // Any tablet device.
}

Check for a specific platform with the help of the magic methods:

<?php
if($detect->isiOS()){
    // Code to run for the Apple's iOS platform.
}
<?php
if($detect->isAndroidOS()){
    // Code to run for the Google's Android platform.
}

Other case insensitive available methods are isIphone(), isIpad(), isBlackBerry(), isKindle(), isOpera(), etc. For the full list of available methods check the demo.php file.

Alternative method is() for checking specific properties (in beta):

<?php
$detect->is('Chrome')
$detect->is('iOS')
$detect->is('UC Browser')
[...]

Batch mode using setUserAgent():

<?php
$userAgents = array(
'Mozilla/5.0 (Linux; Android 4.0.4; Desire HD Build/IMM76D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19',
'BlackBerry7100i/4.1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/103',
[...]
);
foreach($userAgents as $userAgent){
  $detect->setUserAgent($userAgent);
  $isMobile = $detect->isMobile();
  $isTablet = $detect->isTablet();
  // Use the force however you want.
}

Get the version() of components (in beta):

<?php
$detect->version('iPad'); // 4.3 (float)
$detect->version('iPhone') // 3.1 (float)
$detect->version('Android'); // 2.1 (float)
$detect->version('Opera Mini'); // 5.0 (float)
[...]

Projects that are using the class

  • pymobiledetect - python package made by Bas van Oostveen
  • PrestaShop - Free, secure and open source shopping cart platform.
  • JReviews - Review Script for Joomla, CCK and PHP Directory Script.
  • Symphony2 - Symfony2 bundle for detect mobile devices, manage mobile view and redirect to the mobile and tablet version.
  • Drupal Mobile Detect - Lightweight mobile detect module for Drupal created by Matthew Donadio.
  • Drupal Context Mobile Detect - This is a Drupal Context module which integrates Context and PHP Mobile Detect library.
  • WP Mobile Detect - WP Mobile detect gives you the ability to wrap that infographic in a [notdevice][/notdevice] shortcode so at the server level WordPress will decide to show that content only if the user is NOT on a phone or tablet.
  • Tiny Tiny RSS - Is an open source web-based news feed (RSS/Atom) reader and aggregator, designed to allow you to read news from any location, while feeling as close to a real desktop application as possible.
  • Responsage - Is a small WordPress theme plugin that allows you to make your images responsive.
  • bConsole - Creates a panel that sits on top of a browser-based project and provides information about the client machine and browser.

About

Mobile_Detect is a lightweight PHP class for detecting mobile devices. It uses the User-Agent string combined with specific HTTP headers to detect the mobile environment.

Resources

Stars

Watchers

Forks

Packages

No packages published