codeigniter — определение ОС посетителя в переполнении стека

Я пытаюсь получить ОС посетителя на PHP (Codeingiter). Я старался https://github.com/serbanghita/Mobile-Detect. Это работало для меня 70% времени. Но все же это не обнаруживает точно. Хороший объем трафика Android не определяется как мобильный или планшетный.

2

Решение

Нет точного способа определить операционную систему через php или любой другой язык сервера.

Этот тип обнаружения обычно зависит от агента браузера, но он может быть сфальсифицирован и в большинстве случаев не содержит информации.

3

Другие решения

Вы должны добавить проверки для других устройств, таких как iPad и другие, которые я пропустил …

$hua = filter_input(INPUT_SERVER, 'HTTP_USER_AGENT');
$os = 'I have no idea...';

if(preg_match('/android/i', $hua)) {
$os = 'Android';
} elseif (preg_match('/linux/i', $hua)) {
$os = 'Linux';
} elseif (preg_match('/iphone/i', $hua)) {
$os = 'iPhone';
} elseif (preg_match('/macintosh|mac os x/i', $hua)) {
$os = 'Mac';
} elseif (preg_match('/windows|win32/i', $hua)) {
$os = 'Windows';
}
echo $os;
1

Библиотека классов User Agent в CodeIgniter Предоставляет функции для выполнения вашей задачи.
Вы можете найти более подробную информацию о них здесь:
Библиотека классов User Agent

Специально ищите функцию platform () для определения ОС посетителя.

0
По вопросам рекламы [email protected]