Как мы можем получить информацию о имени и версии браузера с помощью php-скрипта?
<?php echo $_SERVER['HTTP_USER_AGENT']; ?>
Как говорит Палантир, дополнительно посмотрите на функцию get_browser, где вы можете проверить также возможности, включенные в браузере.
Вам нужно будет создать функцию для перевода данных агента пользователя в общие имена браузеров
Например, $_SERVER['HTTP_USER_AGENT']
может вернуть Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:*) Gecko/* Firefox/0.9*
– это firefox или Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.55 Safari/533.4
– это Chrome
Детали предоставляют вам механизм рендеринга, базу кода, версию, os и т. Д. …
Я бы предложил использовать preg_match и / или список известных браузеров – вы хотите сделать что-то вроде
echo browserCommonName($_SERVER['HTTP_USER_AGENT']);
для вывода «Google Chrome».
browserCommonName ($ userAgent) потребуется список известных браузеров.
edit: только что заметил get_browser buit в php, это плохо, потому что я не читаю нить.
См. get_browser()
.
<?php echo $_SERVER['HTTP_USER_AGENT'] . "\n\n"; $browser = get_browser(null, true); print_r($browser); ?>
В общем, вы не можете. Вы, конечно же, можете попытаться получить его, и вы почти наверняка получите что-то похожее на то, что хотите; но нет абсолютно никакой возможности проверить, не верна ли информация. Когда вы получаете строку пользовательского агента, браузер на другом конце может быть правдивым или может быть вредным. Когда вы имеете дело с пользователями, всегда предполагайте, что это, по сути, ложь.
Нет никакого «наилучшего способа» справиться с этим, но то, что вы, скорее всего, хотите сделать, это проверить свой сайт с помощью самых разных браузеров, использовать переносимые методы HTML и CSS, и если вам абсолютно необходимо, заполните дыры JavaScript.
Выбор данных для отправки в браузер на основе того браузера, который, по вашему мнению , является плохим идеей.
Вы всегда можете взглянуть на функцию php get_browser
http://php.net/manual/en/function.get-browser.php . Для этого вам понадобится $_SERVER['HTTP_USER_AGENT']
.
Вы также можете взглянуть на класс обнаружения браузера Криса Шульда. http://chrisschuld.com/projects/browser-php-detecting-a-users-browser-from-php.html