- Saved searches
- Use saved searches to filter your results more quickly
- License
- serbanghita/Mobile-Detect
- Name already in use
- Sign In Required
- Launching GitHub Desktop
- Launching GitHub Desktop
- Launching Xcode
- Launching Visual Studio Code
- Latest commit
- Git stats
- Files
- README.md
- About
- Определение мобильного устройства в PHP
- Методы класса
- Использование
- Переключение между версиями
Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
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.
License
serbanghita/Mobile-Detect
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
README.md
MobileDetect, PHP mobile detection class
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.
- MobileDetect class is a server-side detection PHP class 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.
- Can detect the difference between a mobile phone and a table by using regexes.
- The accuracy and relevance of the detection is kept by running tests to check for detection conflicts.
$detect = new \Detection\MobileDetect; $deviceType = ($detect->isMobile() ? ($detect->isTablet() ? 'tablet' : 'phone') : 'computer');
Download and include manually
- Install via composer. composer require mobiledetect/mobiledetectlib
- Include the dependency in the composer.json file:
< "require": < "mobiledetect/mobiledetectlib": "^3.74" > >
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 👍 for donations, JetBrains team for the continuous support and Dragos Gavrila who contributed with the logo.
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.
- 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.
- 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 Mobile Switch — The Mobile Switch Drupal module provides a automatic theme switch functionality for mobile devices, detected by Browscap or Mobile Detect. Made by Siegfried Neumann.
- Drupal Context Mobile Detect — This is a Drupal context module which integrates Context and PHP Mobile Detect library. Created by Artem Shymko.
- Drupal Mobile Detect — Lightweight mobile detect module for Drupal created by Matthew Donadio.
- 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 helper from Optimise Web enables the use of all functions provided by Mobile Detect. Made by Kathir Vel.
- Magento 2 Mobile Detect Theme Change is an extension for Magento 2 that will change the theme or redirect to a different URL. Also containing a helper to check for the device type.
- PrestaShop is a free, secure and open source shopping cart platform. Mobile_Detect is included in the default package since 1.5.x.
- 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.
- Symfony3 MobileDetectBundle is a Symfony bundle to detect mobile devices, manage mobile view and redirect to the mobile and tablet version. Made by Théo Attali.
- Symfony2 Mobile Detect Bundle is a 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 is a service provider to interact with Mobile detect class methods. Made by Lhassan Baazzi.
Slim Framework
ExpressionEngine
- EE2 Detect Mobile is a lightweight PHP plugin for EE2 that detects a mobile browser using the Mobile Detect class. Made by Gareth Davies.
Yii Framework
- Yii Extension — Mobile detect plugin for Yii framework. Made by Alexey Salnikov.
- Yii Extension — Mobile detect component for Yii framework 1.x version which supports composer package manager. Made by Candas Minareci.
- Yii2 Device Detect — Yii2 extension for Mobile-Detect library. Made by Alexander Nestorov.
- 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.
- 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.
- 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.
- 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.
- 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.
Experiments 💡
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.
Определение мобильного устройства в PHP
Определить телефон или планшет можно с помощью библиотеки PHP Mobile Detect. Это легкий класс использующий строку User-Agent в сочетании с другими HTTP-заголовками.
Методы класса
require_once '/Mobile_Detect.php'; $detect = new Mobile_Detect; // Мобильные и планшеты if ($detect->isMobile()) < . >// Планшеты if ($detect->isTablet()) < . >// Только мобильные if ($detect->isMobile() && !$detect->isTablet()) < . >// iOS устройства if ($detect->isiOS()) < . >// Android устройства if ($detect->isAndroidOS())
Использование
Результат работы класса можно передать в переменную, константу и т. д. и далее использовать для вывода шаблонов или отдельных блоков на сайте. Например телефоны ссылками:
require_once '/Mobile_Detect.php'; $detect = new Mobile_Detect; $is_mobile = ($detect->isMobile() && !$detect->isTablet());
Если проект написан на ООП, для передачи значения переменной $is_mobile между объектами будет полезным класс Registry.
require_once '/Mobile_Detect.php'; require_once '/Registry.php'; $detect = new Mobile_Detect; Registry::set('is_mobile', ($detect->isMobile() && !$detect->isTablet())); . if (Registry::get('is_mobile'))
Переключение между версиями
Когда активна мобильная версия сайта, пользователю нужна возможность переключится на десктопную. В подвале мобильной версии выводится ссылка «полная версия» с GET-параметром:
После перехода значение попадает в сессию и мобильная версия больше не показывается.
require_once '/Mobile_Detect.php'; $detect = new Mobile_Detect; if (isset($_GET['full'])) < $_SESSION['full'] = true; >if (empty($_SESSION['full'])) < $is_mobile = ($detect->isMobile() && !$detect->isTablet()); > else