Досить часто при програмуванні своїх веб-додатків доводиться визначати пристрій, з якого користувач відвідує сторінку: з настільного комп’ютера, з мобільного телефону, планшету, чи іншого пристрою. Як це можна зробити з допомогою 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).
Крок 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();
У наступному простому прикладі з допомогою бібліотеки 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) {
// якщо помилка
}
Ось і все на сьогодні по даній темі. Дякую за увагу!
20 травня 2026 року офіційно відбувся реліз довгоочікуваної мажорної версії WordPress 7.0 «Armstrong», названої на…
Кожен власник сайту та SEO-спеціаліст веде щоденну запеклу боротьбу за утримання користувача на сторінках вебресурсу.…
Футбольна секція швидко показує, наскільки взуття підходить дитині. Якщо пара ковзає, тисне або погано чіпляється…
Компанія Samsung - один із лідерів на ринку електроніки. Її смартфони вирізняються надійністю, якісними дисплеями,…
Іспанська мова приваблює мільйони людей своєю мелодійністю, емоційністю та відносною простотою вивчення. Одним із найважливіших…
Робочий простір давно перестав бути просто столом із ПК/ноутбуком. Сьогодні це повноцінна екосистема, де кожна…