Разработчику. Сборник рецептов PHP
Задавайте вопросы

Идентификация различных броузеров

Вернуться назад

Задача

Необходимо сгенерировать содержимое, основанное на возможностях броузера пользователя.

Решение

Характеристики броузера можно определить с помощью объекта, возвращенного функцией get_browser():

$browser = get_browser();

if ($browser -> frames) {
     // вывод формата на основе фрейма
} elseif ($browser -> tables) {
     // вывод формата на основе таблицы
} else {
     // вывод монотонного формата
}

Обсуждение

Функция get_browser() проверяет переменную окружения $_ENV['HTTP_USER_AGENT'] (установленную веб-сервером) и сравнивает ее с броузерами, перечисленными в файле характеристик броузеров. Из-за проблем с лицензированием PHP поставляется без файла характеристик броузеров. В разделе «Obtaining PHP» секции FAQ (на http://www.php.net/faq.obtaining) как источники файла характеристик броузера указаны адреса http://www.cyscape.com/asp/browscap/ и http://www.amrein.com/apps/page.asp?Q=InowDownload, но есть еще один на http://asp.net.do/browscap.zip.

Загрузив файл характеристик броузеров, необходимо указать PHP, где его найти, прописав в параметре конфигурациии browscap соответствующий путь к файлу. Если PHP используется в качестве CGI, установите следующий параметр в файле php.ini:

browscap=/usr/local/lib/browscap.txt

Если используется Apache, то необходимо установить параметр в конфигурационном файле Apache:

php_value browscap "/usr/local/lib/browscap.txt"

Многие характеристики, которые может определить функция get_browser(), показаны в табл. (Свойства объекта, показывающие характеристики броузера) Хотя для характеристик, определяемых пользователем, таких как javascript или cookies, функция get_browser() лишь сообщает, способен ли броузер поддерживать эти возможности. Она ничего не сообщает, если пользователь запретил эти функции броузера. Если JavaScript выключена в броузере, который поддерживает JavaScript, или пользователь отказывается принимать cookies, когда броузер запрашивает его, то функция get_browser() все равно сообщает, что броузер поддерживает эти функции.

Таблица Свойства объекта, показывающие характеристики броузера
Свойство Описание
platform Операционная система, в которой запущен броузер (т. е. Windows, Macintosh, UNIX, Win32, Linux, MacPPC)
version Полная версия броузера (например, 5.0, 3.5, 6.0b2)
majorver Старшая часть версии броузера (например, 5, 3, 6)
minorver Младшая часть версии броузера (например, 0, 5, 02)
frames 1, если броузер поддерживает фреймы
tables 1, если броузер поддерживает таблицы
cookies 1, если броузер поддерживает cookies
backgroundsounds 1, если броузер поддерживает фоновые звуки с помощью тегов <embed> или <bgsound>
vbscript 1, если броузер поддерживает VBScript
javascript 1, если броузер поддерживает JavaScript
javaapplets 1, если броузер может запускать Java-апплеты
activexcontrols 1, если броузер может запускать элементы управления ActiveX

См. также

Документация по функции et_browser() на http://www.php.net/getbrowser.

Вернуться назад

Рейтинг@Mail.ru

Яндекс.Метрика

Индекс цитирования


Рейтинг Сайтов ДОСКИ.РУ