PHP - 检查页面是在移动浏览器还是桌面浏览器上运行

2022-08-30 14:23:40

在我的PHP页面中,我应该根据页面是在移动浏览器还是桌面浏览器下运行来显示两个不同的文本内容。有没有办法在PHP中执行此控件?


答案 1

这里有一个非常好的PHP库用于检测移动客户端:http://mobiledetect.net

使用它可以很容易地仅显示移动设备的内容:

include 'Mobile_Detect.php';
$detect = new Mobile_Detect();

// Check for any mobile device.
if ($detect->isMobile()){
   // mobile content
}
else {
   // other content for desktops
}

答案 2

我使用了罗伯特·李的答案,效果很好!只需写下我正在使用的完整函数:

function isMobileDevice(){
    $aMobileUA = array(
        '/iphone/i' => 'iPhone', 
        '/ipod/i' => 'iPod', 
        '/ipad/i' => 'iPad', 
        '/android/i' => 'Android', 
        '/blackberry/i' => 'BlackBerry', 
        '/webos/i' => 'Mobile'
    );

    //Return true if Mobile User Agent is detected
    foreach($aMobileUA as $sMobileKey => $sMobileOS){
        if(preg_match($sMobileKey, $_SERVER['HTTP_USER_AGENT'])){
            return true;
        }
    }
    //Otherwise return false..  
    return false;
}

推荐