首頁 >後端開發 >php教程 >如何使用 PHP 決定使用者的作業系統?

如何使用 PHP 決定使用者的作業系統?

Barbara Streisand
Barbara Streisand原創
2024-12-07 20:51:15891瀏覽

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

如何使用 PHP 取得作業系統資訊?

問題:

像 thismachine.info 這樣的網站提供了詳細資訊有關使用者作業系統的資訊。用戶對這是如何完成的感到好奇,這是可以理解的。許多人不確定如何使用 PHP 獲取此類資訊。

研究用戶代理

用戶代理字串通常包含有關瀏覽器的大量資訊。不過,尚不清楚這些資訊是否也用於確定操作系統。如果沒有,哪些潛在來源可以提供此資訊?

識別作業系統

下面的 PHP 程式碼提供了有關 thismachine.info 等網站如何確定作業系統的見解正在被使用。它利用正規表示式來匹配使用者代理程式中的作業系統模型(例如,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確定使用者作業系統的初始查詢提供了解決方案。透過分析用戶代理字串,它能夠近似作業系統。值得注意的是,這不是一門精確的科學,所提供的結果可能並不總是準確的。

以上是如何使用 PHP 決定使用者的作業系統?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn