<?php
class MobileDetect
{
private $userAgent;
public function __construct()
{
$this->userAgent = $_SERVER['HTTP_USER_AGENT'];
}
/**
* 检测用户是否用手机访问
* @return bool
*/
public function isMobile()
{
$mobileAgents = [
// 常见的手机浏览器 User-Agent 关键字
'iPhone', 'iPod', 'iPad',
'Android', 'BlackBerry', 'IEMobile',
'Opera Mini', 'Windows Phone',
'Mobile', 'Opera Mobi', 'Mobile Safari'
];
foreach ($mobileAgents as $agent) {
if (strpos($this->userAgent, $agent) !== false) {
return true;
}
}
return false;
}
}
// 使用示例
$mobileDetect = new MobileDetect();
if ($mobileDetect->isMobile()) {
echo "用户正在使用手机访问";
} else {
echo "用户可能不是使用手机访问";
}
?>
这个`MobileDetect`类通过检查HTTP请求中的`User-Agent`字符串来判断用户是否通过移动设备访问网站。它定义了一个`isMobile`方法,该方法通过搜索`User-Agent`字符串中是否包含一系列已知的移动设备标识来做出判断。如果`User-Agent`中包含这些标识之一,则返回`true`,表示用户正在使用移动设备访问;否则返回`false`。请注意,由于`User-Agent`字符串可以被修改或伪造,因此这种方法并不是100%准确的。