Коварная война россии против Украины. Ориентировочные потери врага
(по состоянию на 12.08.2026)
1461660
солдат
439
самолетов
354
вертолетов
12259
танков
25127
ББМ
47773
артиллерия
1561
ПВО
2022
РСЗО
132931
машин
35
корабли и катера

Уроки 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) {
  // если ошибка
}

 

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

 

Категории:

видели 1444
расскажите друзьям:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *