用戶訪問服務器時,利用PHP的超級全局變量$_SERVER數組中字段['HTTP_USER_AGENT']獲取訪問用戶的所有信息和['HTTP_ACCEPT_LANGUAGE']獲取訪問用戶瀏覽器的語言。
// 獲取當前請求的 User-Agent: 頭部的內容。 $_SERVER['HTTP_USER_AGENT']; // 當前返回結果:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36 // 獲取當前請求的 Accept-Language: 頭部的內容。 $_SERVER['HTTP_ACCEPT_LANGUAGE']; // 當前返回結果:zh-CN,zh;q=0.8 // 利用正則表達式匹配以上字符串,用戶的瀏覽器操作系統信息。 /** * 獲得訪客操作系統 */ function get_os() { if (!empty($_SERVER['HTTP_USER_AGENT'])) { $os = $_SERVER['HTTP_USER_AGENT']; if (preg_match('/win/i', $os)) { $os = 'Windows'; } else if (preg_match('/mac/i', $os)) { $os = 'MAC'; } else if (preg_match('/linux/i', $os)) { $os = 'Linux'; } else if (preg_match('/unix/i', $os)) { $os = 'Unix'; } else if (preg_match('/bsd/i', $os)) { $os = 'BSD'; } else { $os = 'Other'; } return $os; } else { return 'unknow'; } } /** * 獲得訪問者瀏覽器 */ function browse_info() { if (!empty($_SERVER['HTTP_USER_AGENT'])) { $br = $_SERVER['HTTP_USER_AGENT']; if (preg_match('/MSIE/i', $br)) { $br = 'MSIE'; } else if (preg_match('/Firefox/i', $br)) { $br = 'Firefox'; } else if (preg_match('/Chrome/i', $br)) { $br = 'Chrome'; } else if (preg_match('/Safari/i', $br)) { $br = 'Safari'; } else if (preg_match('/Opera/i', $br)) { $br = 'Opera'; } else { $br = 'Other'; } return $br; } else { return 'unknow'; } } /** * 獲得訪問者瀏覽器語言 */ function get_lang() { if (!empty($_SERVER['HTTP_ACCEPT_LANGUAGE'])) { $lang = $_SERVER['HTTP_ACCEPT_LANGUAGE']; $lang = substr($lang, 0, 5); if (preg_match('/zh-cn/i',$lang)) { $lang = '簡體中文'; } else if (preg_match('/zh/i',$lang)) { $lang = '繁體中文'; } else { $lang = 'English'; } return $lang; } else { return 'unknow'; } }