PHP用户代理确定移动设备和平板电脑

时间:2014-01-17 20:31:37

标签: php css mobile responsive-design user-agent

我用这个:

    $isMobile = (bool) strpos($_SERVER['HTTP_USER_AGENT'],'Mobile');

    if ($isMobile) {
        $Ymobile = "block";
    } else {
        $Ymobile = "none";
    }

这确定用户是否在移动设备上,如果是,则将div的类设置为阻止。

然而,对于平板电脑,会显示div。

所以我将'手机'更改为'平板电脑'并且它有效,div没有在平板电脑上显示。

为什么其他人不会在平板电脑上隐藏div?

我以为我可以这样做。:

    $isMobile = (bool) strpos($_SERVER['HTTP_USER_AGENT'],'Mobile');
    $isTablet = (bool) strpos($_SERVER['HTTP_USER_AGENT'],'Tablet');

    if ($isMobile) {
        $Ymobile = "block";
    } else if ($isTablet) {
        $Ymobile = "none";
    } else {
        $Ymobile = "none";
    }

但这仍然显示了div。

我哪里错了?

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

只是一个想法..

为什么不尝试使用switch语句。如果没有检测到“移动”,则在所有其他情况下(移动)设置无,然后转到“阻止”

switch(strpos($_SERVER['HTTP_USER_AGENT'],'Mobile')) {
    case false:
        $Ymobile = "none";
        break;
    default:
        $Ymobile = "block";
        break;
}

答案 2 :(得分:0)

结束使用:

https://code.google.com/p/php-mobile-detect/wiki/Mobile_Detect

使用很多选项非常简单。