Bei der Webentwicklung ist die Anpassung von Webseiten an das vom Benutzer verwendete Betriebssystem unerlässlich. PHP kann das Betriebssystem identifizieren, auf dem das Skript ausgeführt wird, und den Browser, den der Benutzer verwendet. In diesem Artikel erfahren Sie, wie Sie das vom Benutzer in PHP verwendete Betriebssystem identifizieren und zwischen Android und iOS unterscheiden.
Die folgenden zwei Methoden sind angegeben:
Methode 1: Verwenden Sie die Variable HTTP_USER_AGENT.
HTTP_USER_AGENT ist ein vom Browser an den Webserver gesendeter Anforderungsheader, der die Zeichenfolge des Benutzeragenten enthält. Diese Zeichenfolge enthält im Allgemeinen den Browsernamen, die Browserversion, den Betriebssystemnamen und die Betriebssystemversion. In PHP können Sie den folgenden Code verwenden, um den Wert dieser Variablen abzurufen:
$user_agent = $_SERVER['HTTP_USER_AGENT']
Nachdem wir den Wert erhalten haben, möchten wir normalerweise die in der Benutzeragentenzeichenfolge enthaltenen Informationen finden . Um das Betriebssystem des Benutzers zu bestimmen, sind die folgenden einige gängige Benutzeragentenzeichenfolgen:
Windows
Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, wie Gecko) Chrome/58.0.3029.96 Safari/537.36
macOS
Mozilla/5.0 (Macintosh; Intel Mac OS AppleWebKit/537.36 (KHTML, wie Gecko) Chrome/51.0.2704.81 Mobile Safari/537.36
iOS
Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 wie Mac OS X) AppleWebKit/601.1 .46 (KHTML, wie Gecko) Version/9.0 Mobile/13B143 Safari/601.1
Das vom Benutzer verwendete Betriebssystem und die Version können durch Beurteilung der in der Benutzeragentenzeichenfolge enthaltenen Schlüsselwörter ermittelt werden. Das Folgende ist ein Beispielcode:
$user_agent = $_SERVER['HTTP_USER_AGENT'];
if (preg_match('/iphone|ipod|ipad/i', $user_agent)) {
// iOS if(preg_match('/OS\s(\d+)_(\d+)/i', $user_agent, $matches)) { $os_version = $matches[1] . '.' . $matches[2]; } echo 'iOS ' . $os_version;
} else if (preg_match('/android/i', $user_agent)) {
// Android if(preg_match('/Android\s(\d+(\.\d+)?)/i', $user_agent, $matches)) { $os_version = $matches[1]; } echo 'Android ' . $os_version;
} else if ( preg_match('/windows nt/i', $user_agent)) {
// Windows if(preg_match('/Windows NT (\d+(\.\d+)?)/i', $user_agent, $matches)) { $os_version = $matches[1]; } echo 'Windows ' . $os_version;
} else {
echo 'Unknown OS';
}
Methode 2: Verwenden Sie die get_browser-Funktion von PHP
Der get_browser Die Funktion kann die vom Benutzer verwendeten Browser- und Betriebssysteminformationen zurückgeben. Diese Funktion basiert jedoch auf der von PHP installierten Datei browscap.ini und Daten, die mit den angegebenen Benutzeragenteninformationen übereinstimmen.
Das Folgende ist der Beispielcode:
$browser_info = get_browser(null, true);
$os = $browser_info['platform'];
if (preg_match('/iphone|ipod|ipad/i', $_SERVER ['HTTP_USER_AGENT'])) {
echo 'iOS ' . $os;
} else if (preg_match('/android/i', $_SERVER['HTTP_USER_AGENT'])) {
echo 'Android ' . $os;
} else {
echo 'Unknown OS';
}
Sollte es Beachten Sie, dass die PHP-Datei browscap.ini separat heruntergeladen werden muss und der Download-Link https://browscap.org/stream?q=Full_PHP_BrowsCapINI lautet.
Schlussfolgerung
Mit beiden Methoden können Sie das Betriebssystem des Benutzers auf PHP ermitteln Sie müssen nur eine Methode auswählen, die Ihnen gefällt. Egal für welche Methode Sie sich entscheiden, sie kann die Anforderungen des Benutzerbetriebssystems in der Webentwicklung gut erfüllen.
Das obige ist der detaillierte Inhalt vonSo ermitteln Sie mithilfe von PHP, ob es sich bei dem Gerät um Android oder iOS handelt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!