Підступна війна росії проти України. Орієнтовні втрати ворога
(станом на 07.08.2026)
1455420
осіб
439
літаків
354
гелікоптерів
12247
танків
25098
ББМ
47522
артилерія
1550
ППО
2008
РСЗВ
131068
машин
34
кораблі і катери

Уроки PHP — Как определить в своем скрипте, не мобильное ли это устройство

08/08/2024

Часто при программировании своих веб-приложений приходится определять устройство, с которого пользователь посещает страницу: с персонального компьютера, с мобильного телефона, планшета или другого устройства. Как это можно сделать с помощью 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) {
  // если ошибка
}

 

Вот и все на сегодняшний день по данной теме. Спасибо за внимание!

 

Категорії:

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

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

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