获取用户设备和平台信息
This commit is contained in:
@@ -56,39 +56,57 @@ if (!function_exists('get_device_type')) {
|
||||
}
|
||||
|
||||
// 确定浏览器类型
|
||||
if (strpos($userAgent, 'Firefox') !== false) {
|
||||
$deviceInfo['browser'] = 'Mozilla Firefox';
|
||||
} elseif (strpos($userAgent, 'Opera Mini') !== false || strpos($userAgent, 'Opera') !== false) {
|
||||
$deviceInfo['browser'] = 'Opera';
|
||||
} elseif (strpos($userAgent, 'Chrome') !== false) {
|
||||
$deviceInfo['browser'] = 'Google Chrome';
|
||||
} elseif (strpos($userAgent, 'Safari') !== false && strpos($userAgent, 'Version/') !== false) {
|
||||
$deviceInfo['browser'] = 'Apple Safari';
|
||||
} elseif (strpos($userAgent, 'MSIE') !== false || strpos($userAgent, 'Trident/7') !== false) {
|
||||
$deviceInfo['browser'] = 'Internet Explorer';
|
||||
$br = $_SERVER['HTTP_USER_AGENT'];
|
||||
switch ($br) {
|
||||
case strpos($br, 'MSIE') !== false:
|
||||
$deviceInfo['browser'] = 'MSIE';
|
||||
break;
|
||||
case strpos($br, 'Edg') !== false:
|
||||
$deviceInfo['browser'] = 'Microsoft Edge';
|
||||
break;
|
||||
case strpos($br, 'Firefox') !== false:
|
||||
$deviceInfo['browser'] = 'Firefox';
|
||||
break;
|
||||
case strpos($br, 'Chrome') !== false:
|
||||
$deviceInfo['browser'] = 'Chrome';
|
||||
break;
|
||||
case strpos($br, 'Safari') !== false:
|
||||
$deviceInfo['browser'] = 'Safari';
|
||||
break;
|
||||
case strpos($br, 'Opera' ):
|
||||
$deviceInfo['browser'] = 'Opera';
|
||||
break;
|
||||
case strpos($br, 'Api' ):
|
||||
$deviceInfo['browser'] = 'Api Post';
|
||||
break;
|
||||
default:
|
||||
$deviceInfo['browser'] = 'Other';
|
||||
}
|
||||
|
||||
// 确定操作系统平台
|
||||
if (strpos($userAgent, 'Windows NT 10.0; Win64; x64') !== false && strpos($userAgent, 'WOW64') === false) {
|
||||
$deviceInfo['platform'] = 'Windows 11';
|
||||
} elseif (strpos($userAgent, 'Windows NT 10.0') !== false) {
|
||||
$deviceInfo['platform'] = 'Windows 10';
|
||||
} elseif (strpos($userAgent, 'Windows NT 6.3') !== false) {
|
||||
$deviceInfo['platform'] = 'Windows 8.1';
|
||||
} elseif (strpos($userAgent, 'Windows NT 6.2') !== false) {
|
||||
$deviceInfo['platform'] = 'Windows 8';
|
||||
} elseif (strpos($userAgent, 'Windows NT 6.1') !== false) {
|
||||
$deviceInfo['platform'] = 'Windows 7';
|
||||
} elseif (strpos($userAgent, 'Macintosh; Intel Mac OS X') !== false) {
|
||||
$deviceInfo['platform'] = 'Mac OS X';
|
||||
} elseif (strpos($userAgent, 'iPad') !== false) {
|
||||
$deviceInfo['platform'] = 'iOS';
|
||||
} elseif (strpos($userAgent, 'iPhone') !== false) {
|
||||
$deviceInfo['platform'] = 'iOS';
|
||||
} elseif (strpos($userAgent, 'Android') !== false) {
|
||||
$deviceInfo['platform'] = 'Android';
|
||||
} else {
|
||||
$deviceInfo['platform'] = '未知';
|
||||
$os = $_SERVER['HTTP_USER_AGENT'];
|
||||
|
||||
switch(true) {
|
||||
case strpos($os, 'Windows') !== false:
|
||||
$deviceInfo['platform'] = 'Windows';
|
||||
break;
|
||||
case strpos($os, 'Macintosh') !== false:
|
||||
$deviceInfo['platform'] = 'Mac';
|
||||
break;
|
||||
case strpos($os, 'Linux') !== false:
|
||||
$deviceInfo['platform'] = 'Linux';
|
||||
break;
|
||||
case strpos($os, 'Android') !== false:
|
||||
$deviceInfo['platform'] = 'Android';
|
||||
break;
|
||||
case strpos($os, 'iOS') !== false:
|
||||
$deviceInfo['platform'] = 'iOS';
|
||||
break;
|
||||
case strpos($os, 'Api') !== false:
|
||||
$deviceInfo['platform'] = 'Api Post';
|
||||
break;
|
||||
default:
|
||||
$deviceInfo['platform'] = 'Unknown';
|
||||
}
|
||||
|
||||
return $deviceInfo;
|
||||
|
||||
Reference in New Issue
Block a user