Wie bekomme ich User Agent in PHP

79

Ich verwende diesen JS-Code, um zu wissen, für welchen Browser der Benutzer verwendet.

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

Und ich möchte diesen navigator.appName zum PHP-Code bringen, um ihn so zu verwenden:

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

Wie kann ich es tun?

Olga Budnik
quelle

Antworten:

208

Verwenden Sie $_SERVER['HTTP_USER_AGENT']stattdessen die native PHP- Variable.

noli
quelle
11
Achtung, das kann nicht eingestellt werden!
Thomas Decaux
9
In PHP7 + können Sie schreiben $_SERVER['HTTP_USER_AGENT']??null, damit es null zurückgibt, anstatt einen Fehler auszulösen, wenn er nicht definiert ist
Brian Leishman
Oder tun Sie dies, wenn Sie später nur Zeichenfolgenmanipulationen durchführen möchten und sich nicht um Null kümmern oder nicht setzen möchten: $ ua = $ _SERVER ['HTTP_USER_AGENT']. '';
user2078023
22
Oder überprüfen Sie einfach mit isset()... Sauberer und lesbarer Code sollte immer eine hohe Priorität haben.
StanE
4

Sie können auch die native PHP-Funktion get_browser () verwenden.

WICHTIGER HINWEIS: Sie sollten eine Datei browscap.ini haben.

Aurovrata
quelle
3
Dies setzt voraus, dass Sie eine aktuelle Datei
browscap.ini haben
1
es tut und es gibt einige Online-Ressourcen, wo Sie eine für Ihre Website herunterladen können, wie zum Beispiel browscap.org
Aurovrata
1
return null oder false
Fernando Torres
2
Stellen Sie sicher, dass Sie eine browscap.ini-Datei haben
Aurovrata
2

Sie können den Link jQuery ajax method verwenden , wenn Sie Daten vom Client an den Server übergeben möchten. In diesem Fall können Sie eine $_SERVER['HTTP_USER_AGENT']Variable verwenden, um den Browser-Benutzeragenten zu finden.

arthur86
quelle
1
funktioniert das $_SERVER['USER_AGENT']?? Sollte sein $_SERVER['HTTP_USER_AGENT']???
jogesh_pi