Maison >développement back-end >tutoriel php >Comment puis-je déterminer le système d'exploitation d'un utilisateur à l'aide de PHP ?

Comment puis-je déterminer le système d'exploitation d'un utilisateur à l'aide de PHP ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-07 20:51:15895parcourir

How Can I Determine a User's Operating System Using PHP?

Comment puis-je obtenir des informations sur le système d'exploitation à l'aide de PHP ?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn