你如何用PHP检测移动设备?

时间:2013-05-25 22:44:59

标签: php html css mobile

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

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

4 个答案:

答案 0 :(得分:5)

您可以使用this项目来执行此操作:

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

答案 1 :(得分: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/");

答案 2 :(得分:3)

您可以尝试http://detectmobilebrowsers.com/个库。有一段代码可以检测移动浏览器几乎所有能够检测移动浏览器的内容。

答案 3 :(得分:2)

我建议使用此课程进行良好而完整的移动检测php-mobile-detect

或者您必须过滤用户代理