php获取客户端操作系统信息
获取操作系统信息:
function GetOs() {
$agent = $_SERVER['HTTP_USER_AGENT'] ?? '';
$os = '未知操作系统'; // 默认值
// 操作系统检测规则(按优先级排序)
$rules = [
// Windows 系列(从新到旧)
['patterns' => ['Windows NT 10.0', 'Windows 10'], 'os' => 'Windows 10'],
['patterns' => ['Windows NT 6.3', 'Windows 8.1'], 'os' => 'Windows 8.1'],
['patterns' => ['Windows NT 6.2', 'Windows 8'], 'os' => 'Windows 8'],
['patterns' => ['Windows NT 6.1', 'Windows 7'], 'os' => 'Windows 7'],
['patterns' => ['Windows NT 6.0', 'Windows Vista'], 'os' => 'Windows Vista'],
['patterns' => ['Windows NT 5.2'], 'os' => 'Windows Server 2003'],
['patterns' => ['Windows NT 5.1', 'Windows XP'], 'os' => 'Windows XP'],
['patterns' => ['Windows NT 5.0', 'Windows 2000'], 'os' => 'Windows 2000'],
['patterns' => ['Win95', 'Windows 95'], 'os' => 'Windows 95'],
['patterns' => ['Win98', 'Windows 98'], 'os' => 'Windows 98'],
['patterns' => ['WinNT', 'Windows NT'], 'os' => 'Windows NT'],
// macOS 系列
['patterns' => ['Mac OS X 10_15', 'Mac OS X 10.15', 'Catalina'], 'os' => 'macOS Catalina'],
['patterns' => ['Mac OS X 10_14', 'Mac OS X 10.14', 'Mojave'], 'os' => 'macOS Mojave'],
['patterns' => ['Mac OS X 10_13', 'Mac OS X 10.13', 'High Sierra'], 'os' => 'macOS High Sierra'],
['patterns' => ['Mac OS X 10_12', 'Mac OS X 10.12', 'Sierra'], 'os' => 'macOS Sierra'],
['patterns' => ['Mac OS X 10_11', 'Mac OS X 10.11', 'El Capitan'], 'os' => 'OS X El Capitan'],
['patterns' => ['Mac OS X 10_10', 'Mac OS X 10.10', 'Yosemite'], 'os' => 'OS X Yosemite'],
['patterns' => ['Mac OS X 10_9', 'Mac OS X 10.9', 'Mavericks'], 'os' => 'OS X Mavericks'],
['patterns' => ['Mac OS X'], 'os' => 'macOS'],
['patterns' => ['Macintosh'], 'os' => 'Macintosh'],
// 移动设备
['patterns' => ['iPhone', 'iOS'], 'os' => 'iPhone iOS'],
['patterns' => ['iPad', 'iPadOS'], 'os' => 'iPad iPadOS'],
['patterns' => ['Android'], 'os' => 'Android'],
// Linux/Unix 系列
['patterns' => ['Linux'], 'os' => 'Linux'],
['patterns' => ['Ubuntu'], 'os' => 'Ubuntu Linux'],
['patterns' => ['Fedora'], 'os' => 'Fedora Linux'],
['patterns' => ['Debian'], 'os' => 'Debian Linux'],
['patterns' => ['CentOS'], 'os' => 'CentOS Linux'],
['patterns' => ['FreeBSD'], 'os' => 'FreeBSD'],
['patterns' => ['OpenBSD'], 'os' => 'OpenBSD'],
['patterns' => ['NetBSD'], 'os' => 'NetBSD'],
['patterns' => ['SunOS', 'Solaris'], 'os' => 'Solaris'],
// 其他
['patterns' => ['Chrome OS', 'CrOS'], 'os' => 'Chrome OS'],
['patterns' => ['Xbox'], 'os' => 'Xbox OS'],
];
// 遍历规则进行匹配
foreach ($rules as $rule) {
foreach ($rule['patterns'] as $pattern) {
if (stripos($agent, $pattern) !== false) {
$os = $rule['os'];
break 2; // 跳出两层循环
}
}
}
return $os;
}
发表评论