使用PHP判断用户是否正在使用移动设备浏览我的站点,最简单的方法是什么?
我遇到了许多可以使用的类,但我希望有一个简单的if条件!
有什么办法可以做到这一点吗?
发布于 2012-06-12 09:28:46
我用PHP写了this script to detect a mobile browser。
代码根据用户代理字符串检测用户,方法是对经过数百次测试后仅在移动设备用户代理字符串中找到的单词执行preg_match()操作。它在所有当前的移动设备上都有100%的准确率,我目前正在更新它,以支持更多的移动设备。该代码称为isMobile,如下所示:
function isMobile() {
return 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"]);
}
你可以这样使用它:
// Use the function
if(isMobile()){
// Do something for only mobile users
}
else {
// Do something for only desktop users
}
要将用户重定向到您的移动站点,我将执行以下操作:
// Create the function, so you can use it
function isMobile() {
return 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"]);
}
// If the user is on a mobile device, redirect them
if(isMobile()){
header("Location: http://m.yoursite.com/");
}
如果你有任何问题,请告诉我,祝你好运!
发布于 2015-07-28 20:25:51
我发现mobile detect非常简单,您可以只使用isMobile()
函数:)
发布于 2017-01-31 04:05:25
function isMobileDev(){
if(!empty($_SERVER['HTTP_USER_AGENT'])){
$user_ag = $_SERVER['HTTP_USER_AGENT'];
if(preg_match('/(Mobile|Android|Tablet|GoBrowser|[0-9]x[0-9]*|uZardWeb\/|Mini|Doris\/|Skyfire\/|iPhone|Fennec\/|Maemo|Iris\/|CLDC\-|Mobi\/)/uis',$user_ag)){
return true;
};
};
return false;
}
https://stackoverflow.com/questions/4117555
复制相似问题