Как определить браузер в PHP

Функция browser()

Определить браузер в PHP, можно вытащив данные из переменной $_SERVER['HTTP_USER_AGENT'].

Напишем функцию browser()

<?php function browser() { $ua = $_SERVER['HTTP_USER_AGENT']; if (stristr($ua, 'MSIE')) return 'Internet Explorer'; if (stristr($ua, 'Firefox')) return 'Firefox'; if (stristr($ua, 'Opera')) return 'Opera'; if (stristr($ua, 'Chrome')) return 'Google Chrome'; if (stristr($ua, 'Safari')) return 'Safari'; if (stristr($ua, 'Konqueror')) return 'Konqueror'; if (stristr($ua, 'Iceweasel')) return 'Debian Iceweasel'; if (stristr($ua, 'SeaMonkey')) return 'SeaMonkey'; // Браузеров очень много, все вписывать смысле нет, Gecko почти везде встречается if (stristr($ua, 'Gecko')) return 'Gecko'; // а может это вообще поисковый робот return 'Search Bot'; } ?>

Небольшое разъяснение

Список юзер-агентов достаточно большой. Некоторые браузеры сделаны на основе других браузеров и может данные в них могут быть очень похожими.

Например Google Chrome сделан на основе браузера Safari, и записи очень похожи:

Google Chrome — Mozilla/5.0 ... Chrome/7.0.503.0 Safari/534.6
Safari — Mozilla/5.0 ... Version/5.0.2 Safari/533.18.5

Поэтому очередность проверки данных по тексту достаточно велика.

См. также определение браузера в JavaScript

Категории

ПрограммированиеPHP

Читайте также

Комментарии

Артём Фёдоров

Всегда пожалуйста :)

Ответить
Лев Тигренко

Просто, доступно, понятно!
Спасибо!

Ответить