用户访问服务器时,利用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'; } }