这里我们使用 User Agent 来判断,查看当前设备的 User Agent 可以访问如下链接:https://tanghengzhi.com/user-agent.php
echo $_SERVER['HTTP_USER_AGENT'];
1. 苹果设备很容易区分:iPhone,iPad,Macintosh。
2. 怎么区分 Android Phone 和 Android Tablet:有 Android 和 Mobile 的一定是 Android 手机,有 Android 和 Tablet 的一定是 Android 平板。但是需要注意的是:Android 手机一定有 Mobile,但是 Android 平板不一定有 Tablet。
3. 其他设备不知道怎么判断,于是我便大胆的假设:有 Phone 的一定是手机,有 Tablet 的一定是平板。
4. 假设前面三种情况涵盖了 90% 以上的手机和平板,那么剩下的都是 PC。于是有代码如下。
$userAgent = $_SERVER['HTTP_USER_AGENT'];
// Detect Apple Devices
if (preg_match('/iPhone/i', $userAgent)) {
return 'Phone';
}
if (preg_match('/iPad/i', $userAgent)) {
return 'Tablet';
}
// Detect Android Devices
if (preg_match('/Android/i', $userAgent) && preg_match('/Mobile/i', $userAgent)) {
return 'Phone';
}
if (preg_match('/Android/i', $userAgent) && !preg_match('/Mobile/i', $userAgent)) {
return 'Tablet';
}
// Detect Other Devices
if (preg_match('/Phone/i', $userAgent)) {
return 'Phone';
}
if (preg_match('/Tablet/i', $userAgent)) {
return 'Tablet';
}
return 'Desktop';
参考:
https://stackoverflow.com/questions/5341637/how-do-detect-android-tablets-in-general-useragent
676 total views, 1 views today