Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich mit PHP das Betriebssystem eines Benutzers ermitteln?
Das Problem:
Websites wie thismachine.info bieten detaillierte Informationen Informationen über die Betriebssysteme der Benutzer. Benutzer sind verständlicherweise neugierig, wie dies geschieht. Viele sind unsicher, wie man solche Informationen mit PHP erhält.
Untersuchung des User-Agent
Der User-Agent-String enthält oft eine Fülle von Informationen über den Browser. Es ist jedoch unklar, ob diese Informationen auch zur Bestimmung des Betriebssystems verwendet werden. Wenn nicht, welche potenziellen Quellen könnten diese Informationen liefern?
Identifizierung des Betriebssystems
Der folgende PHP-Code bietet Einblicke, wie Websites wie thismachine.info das Betriebssystem bestimmen verwendet wird. Es verwendet einen regulären Ausdruck, um das Betriebssystemmodell innerhalb des Benutzeragenten abzugleichen (z. B. Windows NT 5.1).
function getOS() { global $user_agent; $os_platform = "Unknown OS Platform"; $os_array = array( '/windows nt 10/i' => 'Windows 10', '/windows nt 6.3/i' => 'Windows 8.1', '/windows nt 6.2/i' => 'Windows 8', '/windows nt 6.1/i' => 'Windows 7', '/windows nt 6.0/i' => 'Windows Vista', '/windows nt 5.2/i' => 'Windows Server 2003/XP x64', '/windows nt 5.1/i' => 'Windows XP', '/windows xp/i' => 'Windows XP', '/windows nt 5.0/i' => 'Windows 2000', '/windows me/i' => 'Windows ME', '/win98/i' => 'Windows 98', '/win95/i' => 'Windows 95', '/win16/i' => 'Windows 3.11', '/macintosh|mac os x/i' => 'Mac OS X', '/mac_powerpc/i' => 'Mac OS 9', '/linux/i' => 'Linux', '/ubuntu/i' => 'Ubuntu', '/iphone/i' => 'iPhone', '/ipod/i' => 'iPod', '/ipad/i' => 'iPad', '/android/i' => 'Android', '/blackberry/i' => 'BlackBerry', '/webos/i' => 'Mobile' ); foreach ($os_array as $regex => $value) if (preg_match($regex, $user_agent)) $os_platform = $value; return $os_platform; }
Bestimmen des Browsers
Ähnlich gilt: Der folgende Code verwendet reguläre Ausdrücke, um den Browser des Benutzers zu identifizieren.
function getBrowser() { global $user_agent; $browser = "Unknown Browser"; $browser_array = array( '/msie/i' => 'Internet Explorer', '/firefox/i' => 'Firefox', '/safari/i' => 'Safari', '/chrome/i' => 'Chrome', '/edge/i' => 'Edge', '/opera/i' => 'Opera', '/netscape/i' => 'Netscape', '/maxthon/i' => 'Maxthon', '/konqueror/i' => 'Konqueror', '/mobile/i' => 'Handheld Browser' ); foreach ($browser_array as $regex => $value) if (preg_match($regex, $user_agent)) $browser = $value; return $browser; }
In Fazit
Der bereitgestellte PHP-Code bietet eine Lösung für die anfängliche Frage, wie das Betriebssystem eines Benutzers mithilfe von PHP ermittelt werden kann. Durch die Analyse der User-Agent-Zeichenfolge kann das Betriebssystem annähernd ermittelt werden. Es ist erwähnenswert, dass es sich hierbei nicht um eine exakte Wissenschaft handelt und die bereitgestellten Ergebnisse möglicherweise nicht immer präzise sind.
Das obige ist der detaillierte Inhalt vonWie kann ich mit PHP das Betriebssystem eines Benutzers ermitteln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!