Как получить пользовательский агент на 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']переменную для поиска пользовательского агента браузера.


1
это работает $_SERVER['USER_AGENT']?? Должно быть $_SERVER['HTTP_USER_AGENT']???
jogesh_pi
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.