[![Build Status](https://travis-ci.org/serbanghita/Mobile-Detect.svg?branch=devel)](https://travis-ci.org/serbanghita/Mobile-Detect) [![Latest Stable Version](https://poser.pugx.org/mobiledetect/mobiledetectlib/v/stable.svg)](https://packagist.org/packages/mobiledetect/mobiledetectlib) [![Total Downloads](https://poser.pugx.org/mobiledetect/mobiledetectlib/downloads.svg)](https://packagist.org/packages/mobiledetect/mobiledetectlib) [![Daily Downloads](https://poser.pugx.org/mobiledetect/mobiledetectlib/d/daily.png)](https://packagist.org/packages/mobiledetect/mobiledetectlib) [![License](https://poser.pugx.org/mobiledetect/mobiledetectlib/license.svg)](https://packagist.org/packages/mobiledetect/mobiledetectlib) [![Gitter](https://badges.gitter.im/Join Chat.svg)](https://gitter.im/serbanghita/Mobile-Detect?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) ![Mobile Detect](http://demo.mobiledetect.net/logo-github.png) > Motto: "Every business should have a mobile detection script to detect mobile readers." *Mobile_Detect is a lightweight PHP class for detecting mobile devices (including tablets). It uses the User-Agent string combined with specific HTTP headers to detect the mobile environment.* We're committed to make Mobile_Detect the best open-source mobile detection resource and this is why before each release we're running [unit tests](./tests), we also research and update the detection rules on **daily** and **weekly** basis. Your website's _content strategy_ is important! You need a complete toolkit to deliver an experience that is _optimized_, _fast_ and _relevant_ to your users. Mobile_Detect class is a [server-side detection](http://www.w3.org/TR/mwabp/#bp-devcap-detection) tool that can help you with your RWD strategy, it is not a replacement for CSS3 media queries or other forms of client-side feature detection. ##### Announcements For `2.x` branch we are no longer taking optimizations pull requests, but only new regexes and User-Agents for our tests. On `2.x` releases we are focusing on **new tablets only**. All the pull requests about TVs, bots or optimizations will be closed and analyzed after `3.0.0-beta` is released. Still working on `3.0.0` branch to provide you with device detection! We're really excited on this one! We would like to speed this up, but life and family gets in the way ;) Special thanks to **JetBrains** for providing licenses for **PHPStorm**. In case you never heard or tried PHPStorm, you're clearly missing out! [Check PHPStorm](https://www.jetbrains.com/phpstorm/) out! ##### Download and demo |Download|Docs|Examples| |-------------|-------------|-------------| |[Go to releases](../../tags)|[Become a contributor](../../wiki/Become-a-contributor)|[Code examples](../../wiki/Code-examples) |[Mobile_Detect.php](./Mobile_Detect.php)|[History](../../wiki/History)|[:iphone: Live demo!](http://is.gd/mobiletest) |[Composer package](https://packagist.org/packages/mobiledetect/mobiledetectlib)| #### Continuous updates You can use [composer](https://getcomposer.org/doc/00-intro.md) in your release and update process to make sure you have the latest Mobile_Detect version. ``` composer require mobiledetect/mobiledetectlib ``` ```json { "require": { "mobiledetect/mobiledetectlib": "^2.8" } } ``` ##### Help |Pledgie|Paypal| |-------|------| |[Donate :+1:](https://pledgie.com/campaigns/21856)|[Donate :beer:](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=mobiledetectlib%40gmail%2ecom&lc=US&item_name=Mobile%20Detect¤cy_code=USD&bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted)| I'm currently paying for hosting and spend a lot of my family time to maintain the project and planning the future releases. I would highly appreciate any money donations that will keep the research going. Special thanks to the community :+1: for donations, [BrowserStack](https://www.browserstack.com/) - for providing access to their great platform, [Zend](http://www.zend.com/) - for donating licenses, [Dragos Gavrila](https://twitter.com/grafician) who contributed with the logo. ##### 3rd party modules / [Submit new](../../issues/new?title=New%203rd%20party%20module&body=Name, Link and Description of the module.) :point_right: Keep `Mobile_Detect.php` class in a separate `module` and do NOT include it in your script core because of the high frequency of updates. :point_right: When including the class into you `web application` or `module` always use `include_once '../path/to/Mobile_Detect.php` to prevent conflicts.
mobile-detect.js | A JavaScript port of Mobile-Detect class. Made by Heinrich Goebl. |
Varnish Cache |
Varnish Mobile Detect - Drop-in varnish solution to mobile user detection based on the Mobile-Detect library. Made by willemk. mobiledetect2vcl - Python script to transform the Mobile Detect JSON database into an UA-based mobile detection VCL subroutine easily integrable in any Varnish Cache configuration. Made by Carlos Abalde. |
LUA |
mobile-detect.lua is a port of Mobile-Detect to Lua for NGINX HTTP servers. Follows closely to mobile-detect.js. Supports all methods that server-side mobile-detect.js supports. Fully unit-tested and synced with Travis CI (Build Passing badge included). Made by Mark Walters. |
WordPress |
WordPress Mobile Detect - Gives you the ability to wrap that infographic in a mobble - provides mobile related conditional functions for your site. e.g. is_iphone(), is_mobile() and is_tablet(). Made by Scott Evans. WordPress Responsage - A small WP247 Body Classes - Add unique classes to the |
Drupal |
Drupal Mobile Switch - The Mobile Switch Drupal Context Mobile Detect - This is a Drupal Mobile Detect - Lightweight mobile detect module for |
Joomla |
yagendoo Joomla! Mobile Detection Plugin - Lightweight PHP plugin for Joomla! that detects a mobile browser using the Mobile Detect class. Made by yagendoo media. User Agent Detector plugin by @ReneKreijveld. This system plugin detects the user agent of your website visitor and sets a session variable accordingly. Based on the user agent, the plugin detects if the site is running on a desktop pc, tablet or smartphone. It can also detect if the visitor is a spider bot (search engine). Session variable that is set: ualayout. Possible values: desktop, tablet, mobile, bot.. |
Magento | Magento - This |
PrestaShop | PrestaShop is a free, secure and open source shopping cart platform. Mobile_Detect is included in the default package since 1.5.x. |
Zend Framework |
ZF2 Mobile-Detect - Zend Framework 2 module that provides Mobile-Detect features (Mobile_Detect class as a service, helper for views and plugin controllers). Made by neilime ZF2 MobileDetectModule - Facilitates integration of a PHP MobileDetect class with some ZF2-based application. Has similar idea like the existing ZF2 Mobile-Detect module, but differs in initialization and provision routine of the actual Mobile_Detect class. Appropriate view helper and controller plugin also have different conceptions. Made by Nikola Posa |
Symfony | Symfony2 Mobile Detect Bundle - The bundle for detecting mobile devices, manage mobile view and redirect to the mobile and tablet version. Made by Nikolay Ivlev. Silex Mobile Detect Service Provider - |
Laravel |
Agent a user agent class for Laravel, based on Mobile Detect with some additional functionality. Made by Jens Segers. BrowserDetect is a browser & mobile detection package, collects and wrap together the best user-agent identifiers for Laravel. Created by Varga Zsolt. |
Slim Framework |
Slim_Mobile_Detect implements Mobile_Detect lib for differents response's write on Slim Framework App |
ExpressionEngine | EE2 Detect Mobile - Lightweight PHP plugin for |
Yii Framework |
Yii Extension - Mobile detect plugin for Yii framework. Made by Alexey Salnikov. Yii2 Device Detect - Yii2 extension for Mobile-Detect library. Made by Alexander Nestorov |
CakePHP | CakePHP MobileDetect - |
FuelPHP | Special Agent is a FuelPHP package which uses php-mobile-detect to determine whether a device is mobile or not. It overrides the Fuelphp Agent class its methods. Made by Robbie Bardjin. |
TYPO3 | px_mobiledetect is an extension that helps to detect visitor's mobile device class (if that’s tablet or mobile device like smartphone). Made by Alexander Tretyak. |
PHP |
PageCache is a lightweight PHP library for full page cache, with built-in Mobile-Detect support. Made by Muhammed Mamedov. |
Statamic | Statamic CMS Mobile Detect - |
Kohana | Kohana Mobile Detect - an example of implementation of |
Perl | MobileDetect.pm - |
python | pymobiledetect - Mobile detect |
Ruby | mobile_detect.rb - A |
GoMobileDetect | GoMobileDetect - |
LUA | ua-lua is a small lib written in |
MemHT | MemHT is a Free PHP CMS and Blog that permit the creation and the management online of websites with few and easy steps. Has the class included in the core. |
concrete5 | concrete5 is a CMS that is free and open source. The library is included in the core. |
engine7 | ExEngine 7 PHP Open Source Framework. The Mobile_Detect class is included in the engine. |
Zikula | Zikula is a free and open-source Content Management Framework, which allows you to run impressive websites and build powerful online applications. The core uses Mobile-Detect to switch to a special Mobile theme, using jQueryMobile |
UserAgentInfo | UserAgentInfo is a PHP class for parsing user agent strings (HTTP_USER_AGENT). Includes mobile checks, bot checks, browser types/versions and more. Based on browscap, Mobile_Detect and ua-parser. Created for high traffic websites and fast batch processing. Made by quentin389 |
Craft CMS | LJ Mobile Detect is a simple implementation of Mobile Detect for Craft CMS. Made by Lewis Jenkins |