在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'];
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中文網其他相關文章!