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

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

Решение
Характеристики броузера можно определить с помощью объекта, возвращенного функцией 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.comappspage.asp?Q=InowDownload, но есть еще один на http://asp.net.do/browscap.zip.1

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


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

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

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

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

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

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела PHP на эту тему:
Аутентификация, основанная на cookies
Буферизация вывода в броузер
Взаимодействие в рамках Apache
Настройка обработки ошибок
Отслеживание сеанса работы с сайтом

Вернуться в раздел: PHP / 8. Основы Web