php获取访问者操作系统和浏览器信息

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

}

}

THE END
分享
二维码
< <上一篇
下一篇>>