Mobilgerät in PHP erkennen

Subodh Poudel 30 Januar 2023
  1. Verwenden die Klasse mobiledetect, um mobile Geräte in PHP zu erkennen
  2. Verwendung von HTTP_USER_AGENT und der Funktion preg_match() zur Erkennung mobiler Geräte in PHP
Mobilgerät in PHP erkennen

Wir werden einige Methoden vorstellen, um mobile Geräte in PHP zu erkennen.

Verwenden die Klasse mobiledetect, um mobile Geräte in PHP zu erkennen

Wir können eine leichtgewichtige PHP-Klasse namens Mobile Detect verwenden, um mobile Geräte in PHP zu erkennen. Es erkennt auch Tablet-Geräte. Die Bibliothek verwendet bestimmte HTTP-Header und User-Agent-Strings, um mobile Geräte zu erkennen. Wir können die Bibliothek mit dem Composer mit dem folgenden Befehl herunterladen.

composer require mobiledetect/mobiledetectlib

Die Bibliothek stellt verschiedene Methoden wie isMobile(), isTablet(), isIOS() zur Verfügung, um verschiedene mobile Umgebungen zu erkennen. Wir können ein Objekt der Klasse Mobile_Detect() erstellen und diese Methoden verwenden.

Laden Sie beispielsweise die Bibliothek im Projektverzeichnis mit dem obigen Composer-Befehl herunter. Als nächstes benötigen Sie die Datei autoload.php mit der Funktion require_once. Die Datei befindet sich im Verzeichnis vendor. Als nächstes erstellen Sie ein Objekt $detect der Klasse Mobile_Detect(). Verwenden Sie dann die Funktion isMobile() in einer if-Bedingung. Zeigen Sie im Block if die Meldung Mobile device detected an und zeigen Sie im else-Block die Meldung Mobile device not detected an.

Das folgende Beispiel erkennt, ob die Webseite von einem mobilen Gerät aus aufgerufen wird. Der Ausgabeabschnitt unten zeigt den Fall, wenn die Webseite von einem PC aus geöffnet wird. Wir können den Responsive Design Mode finden, der mit einem Rechtsklick auf die Webseite zu Inspect Element geht. Dort können wir verschiedene Mobilgeräte auswählen und das Skript aktualisieren. Wenn wir ein Mobilgerät auswählen, ändert sich die Ausgabe auf Mobile device detected. Auf diese Weise können wir die Klasse Mobile Detect verwenden, um mobile Geräte in PHP zu erkennen.

Beispielcode:

require_once "vendor/autoload.php";

$detect = new Mobile_Detect;

if ( $detect->isMobile() ) {
echo "Mobile device detected";
}
else {
echo "Mobile device not detected";
}
?>

Ausgabe:

Mobile device not detected

Verwendung von HTTP_USER_AGENT und der Funktion preg_match() zur Erkennung mobiler Geräte in PHP

Wir können die Zeichenkette HTTP_USER_AGENT verwenden, um die Informationen über den Browser des Benutzers zu erhalten, um die Website zu besuchen. Wir verwenden die superglobale Variable $_SERVER und den String als Array-Element. Die superglobale Variable enthält Informationen über den Webserver. Wir erstellen eine benutzerdefinierte Sammlung von User-Agent-Strings, die in mobilen Geräten zu finden sind. Dann können wir mit der Funktion preg_match() überprüfen, ob diese mit dem Browser übereinstimmen, den der aktuelle Benutzer durchsucht. Die Sammlung der User-Agent-Strings kann zusammen mit der Veröffentlichung neuer unterstützter Mobilgeräte manuell hinzugefügt werden. Eine Liste einer aktualisierten Sammlung von User-Agent-Strings finden Sie hier

Erstellen Sie beispielsweise eine Variable $user_agent und speichern Sie $_SERVER["HTTP_USER_AGENT"] darin. Verwenden Sie dann die Funktion preg_match(), um den User-Agent-String abzugleichen. Verwenden Sie die Sammlung von Zeichenketten als ersten Parameter. Verwenden Sie als zweiten Parameter die Variable $user_agent. Zum Schluss die Meldung entsprechend mit der Bedingung if-else anzeigen.

Hier haben wir die Webseite von einem iPhone aus geöffnet. Daher stimmt der User-Agent-String mit der Sammlung überein. Auf diese Weise können wir das mobile Gerät in PHP erkennen.

Beispielcode:

$user_agent = $_SERVER["HTTP_USER_AGENT"];
if(preg_match("/(android|webos|avantgo|iphone|ipod|ipad|bolt|boost|cricket|docomo|fone|hiptop|opera mini|mini|kitkat|mobi|palm|phone|pie|tablet|up\.browser|up\.link|webos|wos)/i",$user_agent ))
{
echo "mobile device detected";
}
else{
echo "mobile device not detected";
}

Ausgabe:

Mobile device detected
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn