Я пытаюсь получить ОС посетителя на PHP (Codeingiter). Я старался https://github.com/serbanghita/Mobile-Detect. Это работало для меня 70% времени. Но все же это не обнаруживает точно. Хороший объем трафика Android не определяется как мобильный или планшетный.
Нет точного способа определить операционную систему через php или любой другой язык сервера.
Этот тип обнаружения обычно зависит от агента браузера, но он может быть сфальсифицирован и в большинстве случаев не содержит информации.
Вы должны добавить проверки для других устройств, таких как 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;
Библиотека классов User Agent в CodeIgniter Предоставляет функции для выполнения вашей задачи.
Вы можете найти более подробную информацию о них здесь:
Библиотека классов User Agent
Специально ищите функцию platform () для определения ОС посетителя.