Über PHP den vom Besucher verwendeten Browser ermitteln
Ja nach PHP-Anwendung kann es notwendig werden, den Browser des Besuchers zu ermitteln. Im extremen Fall können bestimmte Browser nicht alle Funktionen bieten, die die erstellte PHP benötigt. Daher ist es wichtig, den verwendeten Browser zu ermitteln und darauf dann entsprechend reagieren zu können
Über die Server-Variable erhalten wir bereits die Information des Browsers – allerdings werden wir durch die Anzahl der Informationen erschlagen.
In PHP ist der Aufruf:
echo 'HTTP_USER_AGENT ist: '.$_SERVER['HTTP_USER_AGENT'];
Als Ergebnis erhalten wir dann bei Google Chrome verwendet mit einem Mac:
HTTP_USER_AGENT ist: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.183 Safari/537.36
Es gibt auch bei PHP direkt eine Funktion get_browser()
um Browser-Informationen abzurufen
$browser = get_browser(null, true);
print_r($browser);
Als Ergebnis erhalten wir:
Array ( [browser_name_regex] => ~^mozilla/5\.0 \(.*mac os x.*\) applewebkit.* \(.*khtml.*like.*gecko.*\) .*chrome/.* safari/.*$~ [browser_name_pattern] => Mozilla/5.0 (*Mac OS X*) applewebkit* (*khtml*like*gecko*) *Chrome/* Safari/* [parent] => Chrome Generic [platform] => MacOSX [comment] => Chrome Generic [browser] => Chrome [device_type] => Desktop [version] => 0.0 [ismobiledevice] => [istablet] => )
Der Aufbau erscheint im Ersten Blick merkwürdig. Warum ist der erste Wert beim Funktionsaufruf „null“? Wird „null“ als Wert angegebenen, werden die Werte des verwendeten Browsers ausgegeben. Wir können aber auch einen Browser (User-Agent) angeben und erhalten dann dessen Möglichkeiten angezeigt.
Kleines Problem – die Datei browscap.ini muss über php.ini eingebunden sein. Sollte es also nicht funktionieren, hier kontrollieren.
Um nur den Browser auszugeben:
$browser = get_browser(null, true);
echo 'Verwendeter Browser: '. $browser->browser;
Dies kann auch direkt in einer if
-Abfrage verwendet werden:
$browser = get_browser(null, true);
if ( $browser->browser != 'Chrome' ) {
echo 'Sie verwenden <b>nicht Chrome</b> als Browser - somit ist nicht
sichergestellt, dass alle Funktionen der Anwendung zur Verfügung!';
}
Somit können wir sehr einfach den Browser abfragen und darauf reagieren.
Wenn Sie einen Fehler finden, bitte mitteilen (egal ob Schreibfehler oder inhaltlicher Fehler).
Mit Maus fehlerhafte Stelle markieren und übernehmen mit folgendem Button: