获取浏览器信息的PHP函数
发布时间:2023-07-02 20:11:02
获取浏览器信息的PHP函数可以使用$_SERVER超全局变量来获取。$_SERVER['HTTP_USER_AGENT']是浏览器发送到服务器的HTTP报头字段之一,包含了关于浏览器和操作系统的信息。以下是一个示例函数可以用来获取浏览器信息:
function getBrowserInfo() {
$userAgent = $_SERVER['HTTP_USER_AGENT'];
// 初始化为空
$browserInfo = '';
// 判断是否为IE浏览器
if (preg_match('/MSIE/i', $userAgent)) {
$browser = 'Internet Explorer';
$browserInfo .= 'Browser: ' . $browser . '<br>';
// 使用正则表达式匹配IE版本
if (preg_match('/MSIE (\d+\.\d+)/i', $userAgent, $matches)) {
$version = $matches[1];
$browserInfo .= 'Version: ' . $version . '<br>';
}
}
// 判断是否为Firefox浏览器
elseif (preg_match('/Firefox/i', $userAgent)) {
$browser = 'Mozilla Firefox';
$browserInfo .= 'Browser: ' . $browser . '<br>';
if (preg_match('/Firefox\/(\d+\.\d+)/i', $userAgent, $matches)) {
$version = $matches[1];
$browserInfo .= 'Version: ' . $version . '<br>';
}
}
// 判断是否为Safari浏览器
elseif (preg_match('/Safari/i', $userAgent)) {
$browser = 'Apple Safari';
$browserInfo .= 'Browser: ' . $browser . '<br>';
if (preg_match('/Version\/(\d+\.\d+)/i', $userAgent, $matches)) {
$version = $matches[1];
$browserInfo .= 'Version: ' . $version . '<br>';
}
}
// 判断是否为Chrome浏览器
elseif (preg_match('/Chrome/i', $userAgent)) {
$browser = 'Google Chrome';
$browserInfo .= 'Browser: ' . $browser . '<br>';
if (preg_match('/Chrome\/(\d+\.\d+)/i', $userAgent, $matches)) {
$version = $matches[1];
$browserInfo .= 'Version: ' . $version . '<br>';
}
}
// 判断是否为Opera浏览器
elseif (preg_match('/Opera/i', $userAgent)) {
$browser = 'Opera';
$browserInfo .= 'Browser: ' . $browser . '<br>';
if (preg_match('/Version\/(\d+\.\d+)/i', $userAgent, $matches)) {
$version = $matches[1];
$browserInfo .= 'Version: ' . $version . '<br>';
}
}
// 如果无法识别浏览器,则显示未知
else {
$browser = 'Unknown Browser';
$browserInfo .= $browser . '<br>';
}
// 获取操作系统信息
$osInfo = '';
if (preg_match('/Windows NT 10.0/i', $userAgent)) {
$os = 'Windows 10';
$osInfo .= 'Operating System: ' . $os . '<br>';
} elseif (preg_match('/Windows NT 6.3/i', $userAgent)) {
$os = 'Windows 8.1';
$osInfo .= 'Operating System: ' . $os . '<br>';
} elseif (preg_match('/Windows NT 6.2/i', $userAgent)) {
$os = 'Windows 8';
$osInfo .= 'Operating System: ' . $os . '<br>';
} elseif (preg_match('/Windows NT 6.1/i', $userAgent)) {
$os = 'Windows 7';
$osInfo .= 'Operating System: ' . $os . '<br>';
} elseif (preg_match('/Windows NT 6.0/i', $userAgent)) {
$os = 'Windows Vista';
$osInfo .= 'Operating System: ' . $os . '<br>';
} elseif (preg_match('/Windows NT 5.2/i', $userAgent)) {
$os = 'Windows Server 2003/XP x64';
$osInfo .= 'Operating System: ' . $os . '<br>';
} elseif (preg_match('/Windows NT 5.1/i', $userAgent)) {
$os = 'Windows XP';
$osInfo .= 'Operating System: ' . $os . '<br>';
} elseif (preg_match('/Windows NT 5.0/i', $userAgent)) {
$os = 'Windows 2000';
$osInfo .= 'Operating System: ' . $os . '<br>';
} elseif (preg_match('/Mac/i', $userAgent)) {
$os = 'Macintosh';
$osInfo .= 'Operating System: ' . $os . '<br>';
} elseif (preg_match('/Linux/i', $userAgent)) {
$os = 'Linux';
$osInfo .= 'Operating System: ' . $os . '<br>';
} else {
$os = 'Unknown Operating System';
$osInfo .= $os . '<br>';
}
// 拼接浏览器信息和操作系统信息
$browserInfo .= $osInfo;
return $browserInfo;
}
// 调用函数,获取浏览器信息
$browserInfo = getBrowserInfo();
// 输出浏览器信息
echo $browserInfo;
这个函数通过检查HTTP_USER_AGENT的值,使用正则表达式来识别浏览器和操作系统。根据匹配结果,可以获取浏览器名称和版本,以及操作系统名称。输出的浏览器信息包含浏览器名称、版本和操作系统名称。
