Підступна війна росії проти України. Орієнтовні втрати ворога
(станом на 10.11.2026)
1611600
осіб
452
літаків
356
гелікоптерів
12465
танків
25696
ББМ
52158
артилерія
1754
ППО
2266
РСЗВ
173013
машин
35
кораблі і катери

Уроки 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) {
  // якщо помилка
}

 

 

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

 

Категорії:

Перегляди 1939
розкажіть друзям:

Напишіть тут свою думку/питання

Ваша пошта не публікуватиметься. Обов’язкові поля позначені *