Уроки PHP — Як виявити у своєму скрипті, чи це мобільний пристрій

Досить часто при програмуванні своїх веб-додатків доводиться визначати пристрій, з якого користувач відвідує сторінку: з настільного комп’ютера, з мобільного телефону, планшету, чи іншого пристрою. Як це можна зробити з допомогою PHP?

Найпростіший спосіб — використовувати змінну $_SERVER в PHP:

var_dump($_SERVER["HTTP_USER_AGENT"]);

 

Проста функція виявлення мобільного пристрою

Як можна використовувати змінну $_SERVER у своїй функції? Нижче представлено приклад простого PHP-коду, з допомогою якого можна виявити мобільний девайс:

// оголошуємо функцію
function isMobile() {
  return preg_match("/(android|webos|avantgo|iphone|ipad|ipod|blackberry|iemobile|bolt|boost|cricket|docomo|fone|hiptop|mini|opera mini|kitkat|mobi|palm|phone|pie|tablet|up\.browser|up\.link|webos|wos)/i", $_SERVER["HTTP_USER_AGENT"]);
}
// використовуємо функцію
if(isMobile()) {
  // код для мобільних пристроїв
  echo "Це мобілка";
} else {
  // код, для всіх інших пристроїв
  echo "Це НЕ мобілка";
};

 

В цьому прикладі функція isMobile використовує функцію preg_match, яка з допомогою регулярного виразу шукає співпадіння значення браузера користувача (User Agent) у значенні змінної $_SERVER["HTTP_USER_AGENT"]. Варто зазначити, що перелік значень користувацьких браузерів в зазначеній функції далеко не повний.

 

Чи є ще якийсь варіант?

Так, за подібною логікою, що ми розглянули вище, працює готова PHP бібліотека Mobile_Detect — невеликий клас PHP для виявлення мобільних пристроїв (включно із планшетами). У цій бібліотеці також використовується значення User-Agent у поєднанні зі спеціальними заголовками HTTP для виявлення мобільного пристрою. Автор бібліотеки: Şerban Ghiţă (serbanghita).

 

Як використовувати скрипт Mobile_Detect в PHP для виявлення мобільних пристроїв?

Крок 1. Спочатку потрібно підключити автозавантажувач композеру (composer’s autoloader):

require __DIR__ . '/vendor/autoload.php';

 

Крок 2. Підключаємо та створюємо екземпляр класу бібліотеки Mobile Detect:

use Detection\MobileDetect;
$detect = new MobileDetect();

 

Крок 3. Перевіряємо на “мобільність”:

$isMobile = $detect->isMobile();
$isTablet = $detect->isTablet();

 

Приклад використання бібліотеки Mobile Detect у своєму PHP проекті

У наступному простому прикладі з допомогою бібліотеки MobileDetect ми створюємо екземпляр класу, який за замовчуванням отримує рядок User-Agent зі змінної $_SERVER. Потім у блоці try/catch викликаємо метод $detect->isMobile():

$detect = new MobileDetect();
var_dump($detect->getUserAgent()); // "Mozilla/5.0 (Windows NT 10.0; Win64; x64) ..."
try {
  $isMobile = $detect->isMobile(); // bool
  var_dump($isMobile);
} catch (\Detection\Exception\MobileDetectException $e) {
  // якщо помилка
}

 

 

Ось і все на сьогодні по даній темі. Дякую за увагу!

 

Recent Posts

Як онлайн-моніторинг цін конкурентів допомагає бізнесу у 2026 році

В 2026 році конкуренція в e-commerce стала жорсткою як ніколи. Клієнти вибирають не тільки за…

4 дні ago

5 аграрних помилок, які коштують врожаю, але про них рідко говорять

Урожай найчастіше втрачають не через аномальні зміни погоди, а через дрібні рішення, які здаються неважливими.…

2 тижні ago

Музичні інструменти, історія, класифікація та роль у культурі людства

Музичні інструменти супроводжують людство протягом усієї його історії. Вони з'явилися задовго до писемності і стали…

3 тижні ago

VR-продакшн, повний цикл створення віртуальної реальності

VR-продакшн сьогодні є окремим напрямком у цифровому виробництві, що поєднує технології віртуальної реальності, 3D-графіку, програмування,…

3 тижні ago

Чому Bambu Lab – «iPhone серед 3D-принтерів»

Ще кілька років тому 3D-друк вважався заняттям для «обраних» – людей, які готові витрачати час…

1 місяць ago

Найпоширеніші продукти smart-технологій: ТОП-5 видів гаджетів

Наразі практично жодну сферу життя людини не можна уявити без гаджетів. Ці підтримувані штучним інтелектом…

2 місяці ago