get_browser

(PHP 4, PHP 5, PHP 7, PHP 8)

get_browserНадає інформацію про можливості браузера користувача

Опис

get_browser(string $user_agent = ?, bool $return_array = false): mixed

Намагається визначити можливості браузера користувача, шукаючи інформацію про браузер в файлі browscap.ini file.

Параметри

user_agent

Рядок, яким позначається браузер користувача. Початково, використовується значення HTTP-заголовка User-Agent; тим не менше, ви можете змінити це (наприклад, щоб отримати інфу за інший браузер), передаючи значення для даного параметра.

Можна передавати для цього параметра значення null.

return_array

Якщо встановлено true, ця функція буде повертати масив (array), а не об'єкт (object).

Значення, що повертаються

Повертається інформація у вигляді об'єкта чи масива, який містить декілька елементів даних, репрезентуючи, наприклад, старшу і меншу (major, minor) цифру версії браузера та рядок ID; Значення true/false для позначень наявності такої функціональності як фрейми, JavaScript, та куки; і т.д.

Причому, що стосується cookies, то тут йдеться про те, що браузер має можливість приймати куки, але це не показує, чи у користувача підключена можливість приймати куки, чи ні. Єдина можливість перевірити чи приймаються куки - це відправити їх через setcookie(), перезавантажити, та перевірити наявність значення.

Приклади

Приклад #1 Вивід інформації про браузер користувача

<?php
echo $_SERVER['HTTP_USER_AGENT'] . "\n\n";

$browser = get_browser(null, true);
print_r($browser);
?>

Поданий вище приклад виведе щось схоже на:

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040803 Firefox/0.9.3

Array
(
    [browser_name_regex] => ^mozilla/5\.0 (windows; .; windows nt 5\.1; .*rv:.*) gecko/.* firefox/0\.9.*$
    [browser_name_pattern] => Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:*) Gecko/* Firefox/0.9*
    [parent] => Firefox 0.9
    [platform] => WinXP
    [browser] => Firefox
    [version] => 0.9
    [majorver] => 0
    [minorver] => 9
    [cssversion] => 2
    [frames] => 1
    [iframes] => 1
    [tables] => 1
    [cookies] => 1
    [backgroundsounds] =>
    [vbscript] =>
    [javascript] => 1
    [javaapplets] => 1
    [activexcontrols] =>
    [cdf] =>
    [aol] =>
    [beta] => 1
    [win16] =>
    [crawler] =>
    [stripper] =>
    [wap] =>
    [netclr] =>
)

Примітки

Зауваження:

Для того щоб ця функціональність працювала, параметр browscap у файлі конфігурації php.ini повинен вказувати на коректне місцерозташування файла browscap.ini у вашій системі.

browscap.ini не поставляється з PHP, але ви можете знайти йоо свіжу версію тут - » php_browscap.ini.

Хоча у файлі browscap.ini міститься інформація про більшість браузерів, її потрібно оновлювати для підтримки бази даних в актуальному стані. Формат записів у файлі є досить очевидним.