我使用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'。这种网址还有其他更好的检测代码吗?
答案 0 :(得分:2)
使用正则表达式,或者只是strpos()它。
// Regular Expression
if (preg_match('/^m\./', $_SERVER['SERVER_NAME']) {
}
// strpos()
if (0 === strpos($_SERVER['SERVER_NAME'], 'm.')) {
}
你的情况有点像$_SERVER['SERVER_NAME']
中有问题,你应该给它一个检查。