Mobile-Detect

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.

Github星跟踪图

Mobile Detect

Motto: "Every business should have a detection script to detect mobile readers."

Build Status
Latest Stable Version
Total Downloads
Daily Downloads
License
Chat on Slack

About

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.

Why

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 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.

How

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 and research and update the detection rules on monthly basis.

Who

See the history of the project.

Announcements

  • JetBrains is sponsoring the project by providing licenses for PHPStorm and
    DataGrip.
  • Mobile_Detect 2.x.x is only integrating new regexes, User-Agents and tests. We are focusing on new tablets only.
    The rest of the PRs about TVs, bots or optimizations will be closed and analyzed after 3.0.0-beta is released.
  • Mobile_Detect 3.x.x is experimental and WIP.

Install

Download and include manually

Use this to quickly test the demo.

require_once "libs/Mobile_Detect.php";

Install as a composer package

Use this method to get continuous updates.

composer require mobiledetect/mobiledetectlib

or include the dependency in the composer.json file:

{
    "require": {
        "mobiledetect/mobiledetectlib": "^2.8"
    }
}

Demo

Contribute

Submit a PR

Submit a pull request but before make sure you read how to contribute guide.

Donate, Paypal, ------, Donate :+1:, 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, JetBrains team for the continuous support and Dragos Gavrila who contributed with the logo.

Modules, plugins, ports

Submit new module, plugin, port

: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 your web application or module always use include_once '../path/to/Mobile_Detect.php to prevent conflicts.

JavaScript

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.

PHP

WordPress

  • Mobile Detect for WordPress - WordPress has a built-in function
    (wp_is_mobile()) to detect mobile devices. There is (at least) one catch, though. It considers iPad (iPad pro,
    and any tablet) as a mobile. So, this 3rd party module changes the way wp_is_mobile() works with the help of
    Mobile Detect PHP library!
    Made by Pothi Kalimuthu

  • WordPress 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.
    Made by Jesse Friedman.

  • 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 WordPress theme plugin that allows
    you to make your images responsive. Made by Adrian Ciaschetti.

  • WP247 Body Classes - Add unique classes to the body tag for
    easy styling based on various attributes (archive, user, post, mobile) and various WordPress "is" functions.
    Mobile attributes include type of device, Operating System, Browser, etc. Examples: .is-mobile, .is-not-mobile,
    .is-tablet, .is-ios, .is-not-ios, .is-androidos, .is-chromebrowser.
    Made by wescleveland56.

  • Adaptive Content for WordPress provides the most
    intuitive set of shortcodes for including/excluding content on mobile devices, tablets desktops and other
    more specific device parameters. This lightweight plugin lets content writers and theme authors choose when
    WordPress should or shouldn’t show any give content item using shortcodes and quicktags or theme elements using functions.
    Made by AddFunc.

  • AddFunc Mobile Detect for WordPress redirects
    mobile traffic to your mobile website and, basically, gives you loads of control over your mobile redirects.
    Made by AddFunc.

Drupal

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 - 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.
    Made by @ReneKreijveld.

Magento

PrestaShop

  • PrestaShop is a free, secure and open source shopping cart platform. Mobile_Detect
    is included in the default package since 1.5.x.

Laravel

  • Agent is a user agent class for Laravel based on Mobile Detect with some
    additional functionality.
    Made by Jens Segers.

  • Laravel Mobile Detect is a package that enables you to use device detection right in your Laravel Blade templates. (Utilises the well-known, constantly updated PHP mobile detection library.)
    Made by Barnabas Kecskes.

  • BrowserDetect is a browser and mobile detection package, collects
    and wrap together the best user-agent identifiers for Laravel.
    Created by Varga Zsolt.

Zend Framework

  • ZF2 Mobile-Detect is a 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

Slim Framework

  • Slim_Mobile_Detect implements Mobile_Detect lib for different
    responses write on Slim Framework App.

ExpressionEngine

Yii Framework

CakePHP

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.

Other

  • PageCache is a lightweight PHP library for full page cache,
    with built-in Mobile-Detect support. Made by Muhammed Mamedov.

  • Statamic CMS Mobile Detect is a plugin.
    Made by Sergei Filippov of Haiku Lab.

  • Kohana Mobile Detect is an example of implementation of
    Mobile_Detect class with Kohana framework.
    Written by Luiz Alberto S. Ribeiro.

  • 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 is a CMS that is free and open source. The library is included in the core.

  • engine7 is PHP Open Source Framework. The Mobile_Detect class is included in
    the engine.

  • 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 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.

  • LJ Mobile Detect is a simple implementation of Mobile Detect
    for Craft CMS. Made by Lewis Jenkins.

  • Detect Craft is a Craft CMS wrapper for the Mobile_Detect library. Made by Mikkel Rummelhoff.

  • Grav Plugin Mobile Detect is a simple implementation
    of Mobile Detect for Grav CMS. Made by Dimitri Longo.

  • Mobile_Detect module for UliCMS.
    Made by derUli.

Perl

Python

  • pymobiledetect - Mobile detect python package.
    Made by Bas van Oostveen.

Ruby

  • mobile_detect.rb is a Ruby gem using the JSON data exposed by the
    php project and implementing a basic subset of the API (as much as can be done by the exposed data).
    Made by Karthik T.

Go

LUA

  • ua-lua is a small lib written in LUA providing device type detection.
    ua-lua is detecting mobile or tablet devices based on user-agent inside nginx daemon.
    Made by Frédéric Robinet.

.Net

ColdFusion

Experiments :bulb:

主要指标

概览
名称与所有者serbanghita/Mobile-Detect
主编程语言PHP
编程语言PHP (语言数: 2)
平台
许可证MIT License
所有者活动
创建于2012-08-31 10:58:16
推送于2025-04-28 08:14:38
最后一次提交
发布数89
最新版本名称4.8.09 (发布于 2024-12-10 17:32:24)
第一版名称2.2 (发布于 )
用户参与
星数10.6k
关注者数582
派生数2.7k
提交数1k
已启用问题?
问题数722
打开的问题数23
拉请求数142
打开的拉请求数1
关闭的拉请求数117
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?