Le problème :
Des sites Web comme thismachine.info fournissent des informations détaillées informations sur les systèmes d'exploitation des utilisateurs. Les utilisateurs sont naturellement curieux de savoir comment cela se fait. Beaucoup ne savent pas comment obtenir de telles informations à l'aide de PHP.
Enquête sur l'agent utilisateur
La chaîne de l'agent utilisateur contient souvent une multitude d'informations sur le navigateur. Cependant, il n'est pas clair si ces informations sont également utilisées pour déterminer le système d'exploitation. Sinon, quelles sources potentielles pourraient fournir ces informations ?
Identification du système d'exploitation
Le code PHP ci-dessous offre un aperçu de la façon dont des sites Web comme thismachine.info déterminent le système d'exploitation étant utilisé. Il utilise une expression régulière pour correspondre au modèle du système d'exploitation au sein de l'agent utilisateur (par exemple, 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; }
Détermination du navigateur
De même, le code ci-dessous utilise des expressions régulières pour identifier le navigateur de l'utilisateur.
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; }
Dans Conclusion
Le code PHP fourni offre une solution à la requête initiale concernant la façon de déterminer le système d'exploitation d'un utilisateur à l'aide de PHP. En analysant la chaîne de l'agent utilisateur, il est capable de se rapprocher du système d'exploitation. Il convient de noter qu'il ne s'agit pas d'une science exacte et que les résultats fournis ne sont pas toujours précis.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!