Определяем мобильное устройство на PHP
Вариант 1.
Для того, чтобы заставить класс MobileDetect работать на Вас, достаточно сделать две вещи:
1. Распаковать файл Mobile_Detect.php на сервер;
2. Подключить php файл Mobile_Detect.php с помощью директивы require_once и инициализировать экземпляр класса;
3. Использовать переменные класса для определения типа устройства, марки, версии прошивки, браузера и т.п.
Каждый из этих этапов заключен в примере ниже. Читайте комменты в скрипте для подробной информации.
Вариант 2.
Функция возвращает значение true в случае, если устройство, из которого открыли страницу вашего сайта, является мобильным и false в противном случае. Пример использования данной функции:
Для того, чтобы заставить класс MobileDetect работать на Вас, достаточно сделать две вещи:
1. Распаковать файл Mobile_Detect.php на сервер;
2. Подключить php файл Mobile_Detect.php с помощью директивы require_once и инициализировать экземпляр класса;
3. Использовать переменные класса для определения типа устройства, марки, версии прошивки, браузера и т.п.
Каждый из этих этапов заключен в примере ниже. Читайте комменты в скрипте для подробной информации.
require_once(getcwd().'/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)
// и т.д.
Вариант 2.
function mobile_detect()
{
$user_agent = $_SERVER['HTTP_USER_AGENT'];
$ipod = strpos($user_agent,"iPod");
$iphone = strpos($user_agent,"iPhone");
$android = strpos($user_agent,"Android");
$symb = strpos($user_agent,"Symbian");
$winphone = strpos($user_agent,"WindowsPhone");
$wp7 = strpos($user_agent,"WP7");
$wp8 = strpos($user_agent,"WP8");
$operam = strpos($user_agent,"Opera M");
$palm = strpos($user_agent,"webOS");
$berry = strpos($user_agent,"BlackBerry");
$mobile = strpos($user_agent,"Mobile");
$htc = strpos($user_agent,"HTC_");
$fennec = strpos($user_agent,"Fennec/");
if ($ipod || $iphone || $android || $symb || $winphone || $wp7 || $wp8 || $operam || $palm || $berry || $mobile || $htc || $fennec)
{
return true;
}
else
{
return false;
}
}
Функция возвращает значение true в случае, если устройство, из которого открыли страницу вашего сайта, является мобильным и false в противном случае. Пример использования данной функции:
if (mobile_detect())
{
// код
}
9.02.2015, 22:55 -
Категория: Статьи » Программирование » PHP