Як отримати агент користувача в 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щоб він повертав null, а не видавав помилку, коли вона не визначена
Brian Leishman

Або зробіть це, якщо ви просто хочете пізніше виконати маніпуляції зі рядками і не хочете піклуватися про нуль або не встановити: $ ua = $ _SERVER ['HTTP_USER_AGENT']. '';
user2078023

22
Або просто зверніться до isset()... Чистий та читабельний код завжди повинен бути пріоритетом.
StanE

4

Ви також можете використовувати рідну функцію php get_browser ()

ВАЖЛИВА ПРИМІТКА. У вас повинен бути файл browscap.ini.


3
Для цього потрібно мати актуальний файл
browscap.ini

1
це відбувається, і є досить багато Інтернет-ресурсів, де Ви можете завантажити один для свого сайту, наприклад, browscap.org
Aurovrata,

1
повернути нульовим або хибним
Фернандо Торрес

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.