Коварная война россии против Украины. Ориентировочные потери врага
(по состоянию на 13.09.2024)
631420
солдат
369
самолетов
328
вертолетов
8671
танков
17003
ББМ
18061
артиллерия
945
ПВО
1185
РСЗО
24560
машин
28
корабли и катера
Уроки PHP — Как определить в своем скрипте, не мобильное ли это устройство
Опубликовано

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

 

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

 

 

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

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