Необходимо сгенерировать содержимое, основанное на возможностях броузера пользователя.
Характеристики броузера можно определить с помощью объекта, возвращенного функцией 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.