首頁 後端開發 PHP問題 怎麼用php判斷設備是Android還是iOS系統

怎麼用php判斷設備是Android還是iOS系統

Apr 03, 2023 pm 05:55 PM

在Web開發中,根據使用者使用的作業系統客製化網頁是不可或缺的。 PHP能夠辨識腳本運行所在的作業系統以及使用者使用的瀏覽器。本篇文章將介紹如何在PHP中辨識使用者使用的作業系統以及具體如何區分Android和iOS。

給出以下兩種方法:

方法一:使用HTTP_USER_AGENT變數

HTTP_USER_AGENT是一個瀏覽器傳送給網路伺服器的請求頭,其中包含了使用者代理字符串。這個字串一般包含瀏覽器名稱、瀏覽器版本、作業系統名稱、作業系統版本。在PHP中,可以使用以下程式碼來取得這個變數的值:

$user_agent = $_SERVER['HTTP_USER_AGENT'];

取到值後,我們通常是要找出使用者代理字符串中包含的資訊。以判斷使用者作業系統,以下是常見的幾種使用者代理字串:

Windows
Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/ 58.0.3029.96 Safari/537.36
macOS
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.1022661.1021 /5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.81 Mobile Safari/537.36
iOS1.0.2704.81 Mobile Safari/537.36
iOSOS##Mozilla/537.36
iOS
Mozilla/537_20001 月 (1090 月 (1090 月 (1900102_L「Lak)」版本 (10021195375;L (Lak)537.2; Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1

透過判斷使用者代理字串中包含的關鍵字即可判斷使用者所使用的作業系統及其版本,以下為範例程式碼:

$user_agent = $_SERVER['HTTP_USER_AGENT'];

if (preg_match('/iphone|ipod|ipad/i', $user_agent) ) {

// iOS
if(preg_match('/OS\s(\d+)_(\d+)/i', $user_agent, $matches)) {
    $os_version = $matches[1] . '.' . $matches[2];
}
echo 'iOS ' . $os_version;
登入後複製

} else if (preg_match('/android/i', $user_agent)) {

// Android
if(preg_match('/Android\s(\d+(\.\d+)?)/i', $user_agent, $matches)) {
    $os_version = $matches[1];
}
echo 'Android ' . $os_version;
登入後複製

} else if (preg_match('/windows nt/i', $user_agent )) {

// Windows
if(preg_match('/Windows NT (\d+(\.\d+)?)/i', $user_agent, $matches)) {
    $os_version = $matches[1];
}
echo 'Windows ' . $os_version;
登入後複製

} else {

echo 'Unknown OS';
登入後複製
登入後複製

}

方法二:使用PHP的get_browser函數

##get_browser函數可以傳回使用者使用的瀏覽器以及作業系統的相關資訊。不過函數依賴PHP安裝的browscap.ini文件,以及與指定用戶代理資訊相符的資料。

以下為範例程式碼:

$browser_info = get_browser(null, true);

$os = $browser_info['platform'];

if (preg_match ('/iphone|ipod|ipad/i', $_SERVER['HTTP_USER_AGENT'])) {

echo 'iOS ' . $os;
登入後複製
} else if (preg_match('/android/i', $_SERVER['HTTP_USER_AGENT']) ) {

echo 'Android ' . $os;
登入後複製
} else {

echo 'Unknown OS';
登入後複製
登入後複製
}

#需要注意的是,PHP的browscap.ini檔案需要單獨下載,其下載連結為https://browscap .org/stream?q=Full_PHP_BrowsCapINI

結論

#兩種方法都可以在PHP上判斷使用者的作業系統,只需要你選擇一種你喜歡的方式就可以了。無論你選擇哪一種方法,都能夠很好地滿足Web開發上對於使用者作業系統的需求。

以上是怎麼用php判斷設備是Android還是iOS系統的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)