Определяем мобильное устройство на PHP

Вариант 1.

Для того, чтобы заставить класс 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)
// и т.д.


Mobile_Detect.rar [22.53 Kb] (cкачиваний: 44)

Вариант 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())
{
    // код
}



Просмотров: 2353
9.02.2015, 22:55 -

Категория: Статьи » Программирование » PHP