【问题标题】:How do you detect a mobile device with PHP? [closed]如何使用 PHP 检测移动设备? [关闭]
【发布时间】:2013-05-21 05:05:35
【问题描述】:

我正在寻找用于检测某人是否正在使用移动设备查看网站的最佳方法/实践。如果检测到移动设备,我希望能够调整网站的模板,以便更容易查看。

检测移动设备最可靠、最有效的方法是什么?

【问题讨论】:

标签: php html css mobile


【解决方案1】:

您可以使用this 项目来做到这一点:

if ($detect->isMobile()) {
    // Any mobile device.
}

【讨论】:

    【解决方案2】:

    我建议使用这个类来进行良好和完整的移动检测php-mobile-detect

    或者你必须过滤用户代理

    【讨论】:

    • 检测移动设备需要这么大的脚本吗?似乎他们的方法取决于手机的各个型号及其不断变化的操作系统。我不希望像每 3 天那样更新我的软件,因为新手机问世。
    • @CoryNickerson 如果你想要一个好的脚本,那实际上是最好的,否则你必须从 php 手动过滤用户代理
    【解决方案3】:

    您可以尝试http://detectmobilebrowsers.com/ 库。有一段代码可以检测移动浏览器,几乎可以检测移动浏览器所需的一切。

    【讨论】:

      【解决方案4】:

      您可以获取服务器代理并使用 preg_match 来检查它。 例如:

      $isMobile=(bool)preg_match("/(android|avantgo|blackberry|bolt|boost|cricket|docomo|fone|hiptop|mini|mobi|palm|phone|pie|tablet|up\.browser|up\.link|webos|wos)/i", $_SERVER["HTTP_USER_AGENT"]);
      

      我从here得到了更好的代码版本:

      $isMobile = (bool)preg_match('#\b(ip(hone|od|ad)|android|opera m(ob|in)i|windows (phone|ce)|blackberry|tablet'.
                          '|s(ymbian|eries60|amsung)|p(laybook|alm|rofile/midp|laystation portable)|nokia|fennec|htc[\-_]'.
                          '|mobile|up\.browser|[1-4][0-9]{2}x[1-4][0-9]{2})\b#i', $_SERVER['HTTP_USER_AGENT'] );
      

      然后你就可以了:

      if(isMobile())
          header("Location: http://m.site.com/");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-08-30
        • 2015-01-06
        • 1970-01-01
        • 1970-01-01
        • 2015-03-20
        • 2011-10-30
        相关资源
        最近更新 更多