Как определить мобильное устройство на сайте с помощью PHP

Очень часто вебмастеры сталкиваются с необходимостью адаптировать дизайн и функциональность своего сайта для просмотра на мобильных устройствах. И если ранее было достаточно проверить один из HTTP заголовков (User-agent) для того, чтобы узнать, что человек заходит с мобильного телефона, то на сегодняшний день существует множество устройств с доступом в интернет, функциональность которых сильно отличается. Это мобильные телефоны, смартфоны различных ОС, планшетные компьютеры на платформах Windows CE, Android, Apple iOS, Windows 8 (список чрезвычайно большой), телевизоры Smart-TV и прочие. И вот, как раз, с задачей точно определить тип устройства, производителя (марку), операционную систему, версию прошивки, программное обеспечение, — прекрасно справляется PHP-класс под названиемMobileDetect.

Очень часто вебмастеры сталкиваются с необходимостью адаптировать дизайн и функциональность своего сайта для просмотра на мобильных устройствах. И если ранее было достаточно проверить один из HTTP заголовков (User-agent) для того, чтобы узнать, что человек заходит с мобильного телефона, то на сегодняшний день существует множество устройств с доступом в интернет, функциональность которых сильно отличается. Это мобильные телефоны, смартфоны различных ОС, планшетные компьютеры на платформах Windows CE, Android, Apple iOS, Windows 8 (список чрезвычайно большой), телевизоры Smart-TV и прочие. И вот, как раз, с задачей точно определить тип устройства, производителя (марку), операционную систему, версию прошивки, программное обеспечение, — прекрасно справляется PHP-класс под названиемMobileDetect.

 

Скачать PHP-класс MobileDetect: https://github.com/serbanghita/Mobile-Detect/.

 

Как подключить скрипт на сайт

Для того, чтобы заставить класс MobileDetect работать на Вас, достаточно сделать две вещи:

1. Распаковать файл Mobile_Detect.php на сервер;

2. Подключить php файл Mobile_Detect.php с помощью директивы require_once и инициализировать экземпляр класса;

3. Использовать переменные класса для определения типа устройства, марки, версии прошивки, браузера и т.п.

Каждый из этих этапов заключен в примере ниже. Читайте комменты в скрипте для подробной информации.

require_once(\'путь_к_файлу_на_сервере/Mobile_Detect.php\'); // Подключаем скрипт Mobile_Detect.php
 
$detect = new Mobile_Detect; // Инициализируем копию класса
 
// Любое мобильное устройство (телефоны или планшеты).
if ( $detect->isMobile() ) {
 
}
 
// Планшетные компьютеры
if( $detect->isTablet() ){
 
}
 
// Исключаем планшеты
if( $detect->isMobile() && !$detect->isTablet() ){
 
}
 
// Выбираем специфические платформы
if( $detect->isiOS() ){
 
}
 
if( $detect->isAndroidOS() ){
 
}
 
// Альтернативный метод is() для проверки определенных параметров (БЕТА)
$detect->is(\'Chrome\')
$detect->is(\'iOS\')
$detect->is(\'UC Browser\')
 
// Выборка устройств, отвечающих определенным условиям, используя setUserAgent():
$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();
 
}
 
// Получаем версии компонентов устройства (БЕТА)
$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)
// и т.д.