Как определить тип устройства через php?

Пользователь

от caterina , в категории: PHP , 2 года назад

Как определить тип устройства через php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от vicenta_kertzmann , год назад

@caterina 

Вы можете использовать функцию get_browser из расширения browscap для PHP, чтобы определить тип устройства, которое использует посетитель вашего сайта. Эта функция анализирует заголовки HTTP, отправленные браузером, и возвращает информацию о браузере и операционной системе, включая тип устройства.


Чтобы использовать эту функцию, вам нужно будет установить расширение browscap и загрузить файл с информацией о браузерах на сервер. Затем вы можете вызвать функцию get_browser с параметром $_SERVER['HTTP_USER_AGENT'], чтобы получить объект с информацией о браузере и устройстве. Например:

1
2
$info = get_browser($_SERVER['HTTP_USER_AGENT']);
$device_type = $info->device_type;


Обратите внимание, что функция get_browser может возвращать неточную информацию в некоторых случаях, так как

Пользователь

от abel , год назад

@caterina 

Чтобы определить тип устройства через PHP, можно использовать информацию, которую браузер отправляет на сервер при каждом запросе. Эта информация называется HTTP заголовками и включает в себя User-Agent строку.


User-Agent строка содержит информацию о браузере, операционной системе и устройстве, используемом для доступа к веб-странице. Эта информация может быть использована для определения типа устройства.


В PHP можно получить User-Agent строку, используя глобальную переменную $_SERVER['HTTP_USER_AGENT']. Затем можно проанализировать эту строку и определить тип устройства, используя различные методы, например, preg_match().


Пример кода, который определяет, является ли устройство мобильным или настольным:

1
2
$user_agent = $_SERVER['HTTP_USER_AGENT'];
$is_mobile = preg_match('/(android|bbd+|meego).+mobile|avantgo|bada/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)/|plucker|pocket|psp|series(4|6)0|symbian|treo|up.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i', $user_agent)||preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|/)|ibro|idea|ig01|ikom|im1k|inno