проверка на мобильное устройство php
Определение мобильных устройств при помощи Mobile Detect php
Приветствую вас. Продолжаем исследовать возможности языка PHP и сейчас познакомимся с небольшой библиотекой, с помощью которой можно определять мобильные устройства пользователей на сайте. При чем определить можно даже марку телефона. Для чего это нужно? С большой уверенностью могу сказать, что подобные технологии используются в рекламных системах, в частности таргетированной рекламе. Это позволяет делать более персонализированные предложения. К примеру если вы продаете аксессуары для айфона, то имеет смысл показывать рекламу только тем, кто пользуется этими гаджетами, а для остальных скрыть или сделать переадресацию. Такой подход более профессиональный. На своем сайте вы тоже можете сделать нечто подобное. К примеру тем, кто заходит с мобильных — показать ссылку на телеграмм-канал, который будет запускаться автоматом (проверьте на моем), а тем, кто попал на сайт со стационарного компьютера — показать что-то другое. Не будем отрицать очевидные плюсы mobile detect library и перейдем к ее установке.
Установка PHP библиотеки Mobile Detect
Для подключения достаточно одного файла. Сделать это можно следующим образом.
Вот ссылка на реппозиторий гитхаба. Там есть описание по установке на различные CMS, в том числе и WordPress, а так же популярные фреймворки. А теперь самое время перейти к примерам использования.
$detect = new Mobile_Detect; if($detect->isAndroidOS())< echo "Андроид-устройство версии: ".$detect->version(‘Android’); > if($detect->isiOS())< echo "IOS-устройство версии: ".$detect->version(‘iOS’); > if ($detect->isMobile()) < echo '
Вы зашли с мобильного’; > if($detect->isTablet())< echo '
Вы зашли с планшета’; > if ($detect->isLG()) < echo '
Ваш смартфон LG’; > if ($detect->isSamsung()) < echo '
Ваш смартфон Samsung’; >
Кроме определения мобильных устройств в этой библиотеке предусмотрена возможность определять браузер и его версию. Правда пока в бета режиме. Но при тестировании все работает отлично.
if ($detect->is(‘Chrome’)) < echo "
Версия Chrome: «.$detect->version(‘Chrome’); > if ($detect->is(‘Opera’)) < echo "
Версия Opera: «.$detect->version(‘Opera’); >
Теперь вы знаете как определить мобильные телефоны и планшеты при помощи PHP. Поделитесь в комментариях если знаете еще подобные и более функциональные библиотеки.
Библиотека для определения типа и модели устройства на PHP
Mobile Detect это легковесный PHP класс для определения типа мобильного устройства, (включая и планшеты). Для определения устройства происходит анализ опции User-Agent и HTTP заголовков.
Общие возможности
Возможности библиотеки
Для проверки мы можем заюзать следующие методы:
Определение телефона
Определение планшета
Определение операционной системы
Определение мобильного браузера
Примеры
Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: http://mobiledetect.net/
Перевел: Станислав Протасевич
Урок создан: 15 Января 2014
Просмотров: 54620
Правила перепечатки
5 последних уроков рубрики «PHP»
Фильтрация данных с помощью zend-filter
Когда речь идёт о безопасности веб-сайта, то фраза «фильтруйте всё, экранируйте всё» всегда будет актуальна. Сегодня поговорим о фильтрации данных.
Контекстное экранирование с помощью zend-escaper
Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак. В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.
Подключение Zend модулей к Expressive
Expressive 2 поддерживает возможность подключения других ZF компонент по специальной схеме. Не всем нравится данное решение. В этой статье мы расскажем как улучшили процесс подключение нескольких модулей.
Совет: отправка информации в Google Analytics через API
Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.
Подборка PHP песочниц
Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.
Проверка на мобильное устройство php
Motto: «Every business should have a 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.
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.
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.
See the history of the project.
Download and include manually
Use this to quickly test the demo.
Install as a composer package
Use this method to get continuous updates.
or include the dependency in the composer.json file:
Submit a pull request but before make sure you read how to contribute guide.
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.
Modules, plugins, ports
👉 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. 👉 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
WordPress
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
Magento
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
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
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
Yii Framework
CakePHP
FuelPHP
TYPO3
Other
PageCache is a lightweight PHP library for full page cache, with built-in Mobile-Detect support. Made by Muhammed Mamedov.
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.
Perl
Python
Ruby
ColdFusion
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
Определение мобильного устройства. Введение
Сегодня перебирал свои старые исходники и нашел одну замечательную функцию, которая определяет с компьютера зашел пользователь или с мобильного устройства. Я уже не помню, сам ее писал или нашел где-то в интернете, а может нашел кусок и отредактировал. Не важно откуда она взялась, главное. что функция работает. Определение устройство, с которого просматривается сайт, реализовано очень просто: получаем информацию о HTTP_USER_AGENT и сравниваем со всеми известными на данный момент агентами, используемыми мобильными устройствами.
Определение мобильного устройства. Код
И пример использования:
На этом все. Если у кого-то эта функция не будет срабатывать — присылайте в комментарии название устройства, а лучше, используемый им, юзер агент. Тогда функция будет дополняться, и вместе мы ее сделаем более универсальной.
Определение мобильного устройства в php: 7 комментариев
Здравствуйте!
Планшеты windows 10 как-то можно определить?
Спасибо!
А зачем? Ведь на планшетах под управлением Windows 10, стоит десктопная версия!
Здравствуйте. Есть не большой текст.
Можно ли сделать, чтоб этот текст был в спойлере или его вообще не было, если человек зашёл с мобильного устройства, а если с компа, то как обычно. (Планшеты не читывать, то есть планшет = комп)
Заранее благодарю.
Доброго времени,
Можно добавить условие при выводе страницы — если устройство мобильное, то выводить один кусок верстки, а если десктоп — показывать совсем другое
Спасибо Вам огромное!
Всё просто и работает!
Определяем устройство с помощью PHP
Однажды этот прекрасный день пришёл. День, когда я физически осознал, что мне нужно определять, каким устройством пользуется посетитель сайта, чтобы соответственно отрисовывать для него страницу.
Прошлая методика с помощью медиазапросов по ширине экрана в моих глазах себя изжила — в таком случае на страницу всё равно загружается все элементы, только часть из скрывается или модернизируется. С одной стороны — это правильный и надёжный подход. С другой стороны, когда у нас присутствуют тяжёлые медиафайлы (например, видеофон) или немного другое расположение элементов, то будет намного проще и лучше грузить только нужные элементы в зависимости от того, каким устройством пользуется посетитель сайта.
Итак, я пошёл в интернет за готовым ответом, поскольку издавна исповедую практику «Сначала попробовать чужие костыли готовые решения, а если не нашёл — писать самостоятельно». Собственно, что я нашёл в интернете — это использовать $_SERVER[«HTTP_USER_AGENT»] или вообще пользоваться JavaScript’ом.
Затем, на одном форуме нашёл таки описание интересного и простого php-скрипта, которым уже достаточно давно пользуюсь и хочу поделиться с вами. Называется он Mobile-Detect (ссылка на GitHub). Это очень легковесное и удобное решение, которое использует ту самую строчку HTTP_USER_AGENT в комплекте с определёнными заголовками.
Проект постоянно поддерживается и обновляется, ибо весьма полезная вещь.
Подключается скрипт очень просто — с помощью requred_once мы указываем путь к файлу, а затем инициализируем объект:
Также существуют две переменные для определения операционной системы мобильного устройства:
Кроме того, скрипт может определять производителя устройства. Укажу всего несколько переменных для определения вендора устройства, которые нам доступны:
В реальности этих переменных намного больше — на демо-странице скрипта можно увидеть список поддерживаемых переменных.
Для тех, кто хочет убойной точности и избирательности, можно указывать нужные устройства через значения UserAgent, но по мне такая избирательность уж слишком чрезмерная (хотя бывает всякое).
Разработчики не перестают совершенствовать свой продукт и вполне вероятно, что скоро нам будет доступна возможность определения версий браузеров и устройств (в первую очередь для продукции Apple) — функции уже есть в последнем релизе, но пока они находятся на бета-тестировании.
Теперь давайте разберём на примере принцип работы скрипта. Допустим, мы должны выводить для посетителя сайта разные сообщения в зависимости от операционной системы его устройства. Это будет выглядеть так:
Этот пример немного бесполезный, но очень простой. Немного подумав, этот скрипт можно исползовать для более изящных решений, например, в зависимости от операционной системы подключать разные стили и изображения, чтобы дизайн сайта адаптировался под устройство. Либо, если на вашей странице есть реклама мобильного приложения, выводил предложения о переходе на AppStore или Google Play соответственно. Идей для применения может быть много.
Предлагаю вашему вниманию ещё один пример, который используется на моём сайте. Суть кода следующая — мы выводим разные варианты шапки сайта в зависимости от типа устройства. Код (с сокращениями) следующий:
И напоследок самое сладкое — эта библиотека была портирована на JavaScript, Varnish Cache и LUA.
На основе этого скрипта написаны плагины и модули для WordPress, Drupal, Joomla, Magento, PrestaShop (там он вообще поставляется в стандартном пакете с версии 1.5), Laravel, Yii Framework и множество других фреймворков и языков и платформ.
Библиотека очень полезная и весьма доставляющая.