-1

我使用 CakePHP 的内置方法$this->RequestHandler->isMobile()来检测移动设备,但是当我想使用桌面浏览器尝试我的应用程序时它不起作用。所以我使用下面的代码,因为它的 url 以“m”开头。例如“m.mywebsite.com”:

    <?php
    $url = explode('.', $_SERVER['SERVER_NAME']);
    if($url[0] == 'm'){
      echo "Welcome to our mobile version";
     }
    ?>

但不知何故,在另一台具有“m.trial.mywebsite2.com”之类的子域地址的服务器上进行测试时,它也无法正常工作。这种网址还有其他更好的检测代码吗?

4

1 回答 1

2

使用正则表达式,或者简单地使用 strpos() 它。

// Regular Expression
if (preg_match('/^m\./', $_SERVER['SERVER_NAME']) {
}

// strpos()
if (0 === strpos($_SERVER['SERVER_NAME'], 'm.')) {
}

你的情况闻起来好像有什么问题$_SERVER['SERVER_NAME'],你真的应该检查一下。

于 2012-11-02T04:21:40.980 回答