Для обнаружения Internet Explorer я использую его строку.
<?php if(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false) { };?>
Как определить iOS 5.
HTTP_USER_AGENT вернет следующее:
Mozilla/5.0 (iPhone; U; CPU iPhone OS 5_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7
Если вы пытаетесь обнаружить iOS 5, выполните следующие действия:
<?php if(strpos($_SERVER['HTTP_USER_AGENT'], 'iPhone OS 5_0') !== false) { };?>
У меня была аналогичная проблема, но мне нужно было получить номер версии в iPhone и iPad с помощью $ _SERVER ['HTTP_USER_AGENT']. Я полагаю, что это не совсем надёжно, но это сработало для меня:
<?php $version = preg_replace("/(.*) OS ([0-9]*)_(.*)/","$2", $_SERVER['HTTP_USER_AGENT']); // for example you use it this way if ($version > 5){ // do something } ?>
Если это возможно, get_browser()
будет способом сделать это.
Однако, поскольку строка User-Agent легко подделана, а список браузеров / ОС – постоянно движущаяся цель, это никогда не будет на 100% надежным. Чтобы это вообще работало, вы должны постоянно php_browscap.ini
файл php_browscap.ini
(см. Примечание на странице связанного руководства).
Простой и легкий
<?php $browser = get_browser(null, true); echo $browser['platform']; ?>
Документы говорят
Заметка:
Чтобы это работало, ваш параметр конфигурации браузера в php.ini должен указывать на правильное расположение файла browscap.ini в вашей системе.
browsercap.ini не связан с PHP, но здесь вы можете найти обновленный файл php_browscap.ini .
Хотя browsercap.ini содержит информацию о многих браузерах, он использует обновления пользователей, чтобы поддерживать текущую базу данных. Формат файла довольно понятен.