ホームページ >バックエンド開発 >PHPチュートリアル >PHP を使用してユーザーのオペレーティング システムを確認するにはどうすればよいですか?

PHP を使用してユーザーのオペレーティング システムを確認するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-07 20:51:15895ブラウズ

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

PHP を使用してオペレーティング システム情報を取得するにはどうすればよいですか?

問題:

thismachine.info のような Web サイトでは、詳細な情報が提供されています。ユーザーのオペレーティング システムに関する情報。ユーザーがこれがどのように行われるかについて興味を持っているのは当然です。多くの人は、PHP を使用してそのような情報を取得する方法がわかりません。

ユーザー エージェントの調査

ユーザー エージェント文字列には、ブラウザーに関する豊富な情報が含まれていることがよくあります。ただし、この情報がオペレーティング システムの決定にも使用されるかどうかは不明です。そうでない場合、どの情報源がこの情報を提供している可能性がありますか?

オペレーティング システムの識別

以下の PHP コードは、thismachine.info のような Web サイトがオペレーティング システムをどのように判断するかについての洞察を提供します。使用されている。正規表現を利用して、ユーザー エージェント内のオペレーティング システム モデル (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;
}

ブラウザの決定

同様に、以下のコードは正規表現を利用してユーザーの

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;
}

結論

提供された PHP コードは、PHP を使用してユーザーのオペレーティング システムを特定する方法に関する最初のクエリに対する解決策を提供します。ユーザーエージェント文字列を分析することで、OS を近似することができます。これは正確な科学ではなく、提供される結果が常に正確であるとは限らないことに注意してください。

以上がPHP を使用してユーザーのオペレーティング システムを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。