Как получить пользовательский агент на PHP

78

Я использую этот код JS, чтобы узнать, какой браузер использует пользователь.

<script>
  document.write(navigator.appName);
</script>

И я хочу получить этот navigator.appName в php-коде, чтобы использовать его следующим образом:

if ($appName == "Internet Explorer") {
  // blabla
}

Как мне это сделать?

Ольга Будник
источник

Ответы:

209

$_SERVER['HTTP_USER_AGENT']Вместо этого используйте собственную переменную PHP .

ноли
источник
11
Обратите внимание, это не может быть установлено!
Thomas Decaux
10
В PHP7 + вы можете написать, $_SERVER['HTTP_USER_AGENT']??nullчтобы он возвращал ноль вместо выдачи ошибки, если он не определен,
Брайан Лейшман
Или сделайте это, если вы просто хотите позже манипулировать строками и не хотите заботиться о нулевом или не установленном значении: $ ua = $ _SERVER ['HTTP_USER_AGENT']. '';
user2078023
22
Или просто проверьте isset()... Чистый и читаемый код всегда должен иметь высокий приоритет.
StanE
4

Вы также можете использовать встроенную функцию php get_browser ()

ВАЖНОЕ ПРИМЕЧАНИЕ. У вас должен быть файл browscap.ini.

Ауроврата
источник
3
Для этого у вас должен быть обновленный файл
browscap.ini
1
это так, и есть довольно много онлайн-ресурсов, где вы можете скачать его для своего сайта, например, browscap.org
Aurovrata
1
return null или false
Фернандо Торрес
2
убедитесь, что у вас есть файл
browscap.ini
2

Вы можете использовать ссылку на метод jQuery ajax, если хотите передавать данные от клиента на сервер. В этом случае вы можете использовать $_SERVER['HTTP_USER_AGENT']переменную для поиска пользовательского агента браузера.

arthur86
источник
1
это работает $_SERVER['USER_AGENT']?? Должно быть $_SERVER['HTTP_USER_AGENT']???
jogesh_pi