判断用户是否使用移动设备使用PHP浏览我的网站的最简单方法是什么?
我遇到过许多类,你可以使用,但我希望一个简单的if条件!
有什么办法可以让我这么做吗?
判断用户是否使用移动设备使用PHP浏览我的网站的最简单方法是什么?
我遇到过许多类,你可以使用,但我希望一个简单的if条件!
有什么办法可以让我这么做吗?
当前回答
这个简单的解决方案
if(
strpos($_SERVER['HTTP_USER_AGENT'],'Phone')
|
strpos($_SERVER['HTTP_USER_AGENT'],'Android')
){ echo "should be mobile"; }
else{ echo "give them the desktop version"; }
适用于我测试的大多数设备(通过浏览器开发工具设备模拟)。
当然,你可以简单地使用echo($_SERVER['HTTP_USER_AGENT'])查看自己使用的值。
在我的情况下,唯一丢失的智能手机设备是黑莓z30,我通过检查“触摸”来修复它。对于诺基亚N9,我也检查了“诺基亚”。显然,如果发现“未检查”,可以将这些添加到更多设备上。但现在,这可能比上面一些更复杂的字符串扫描模式更好/更快地理解。
其他回答
如果您关心屏幕大小,您可以将屏幕宽度和高度存储为cookie值(如果它们还不存在),然后进行自页面重定向。
现在你在客户端和服务器端都有了cookie,可以用它来确定手机、平板电脑和其他设备
这里有一个快速的例子,你可以用JavaScript做到这一点。 警告![此代码包含伪代码]。
if (!getcookie("screen_size")) {
var screen_width = screen.width;
var screen_height = screen.height;
setcookie("screen_size", screen_width+", " +screen_height);
go2(geturl());
}
<?php
//-- Very simple way
$useragent = $_SERVER['HTTP_USER_AGENT'];
$iPod = stripos($useragent, "iPod");
$iPad = stripos($useragent, "iPad");
$iPhone = stripos($useragent, "iPhone");
$Android = stripos($useragent, "Android");
$iOS = stripos($useragent, "iOS");
//-- You can add billion devices
$DEVICE = ($iPod||$iPad||$iPhone||$Android||$iOS);
if (!$DEVICE) { ?>
<!-- What you want for all non-mobile devices. Anything with all HTML, PHP, CSS, even full page codes-->
<?php }else{ ?>
<!-- What you want for all mobile devices. Anything with all HTML, PHP, CSS, even full page codes -->
<?php } ?>
我发现移动检测非常简单,你可以使用isMobile()函数:)
没有可靠的方法。您也许可以查看user-agent字符串,但这可能会被欺骗或省略。或者,您也可以使用GeoIP服务来查找客户机的IP地址,但同样,这可以很容易地避免。
一个更简单的解决方案似乎在大多数情况下都有效:
function funcDeviceType() {
// INFO ABOUT THE BROWSER/DEVICE USER IS VISITING ON
$useragent = $_SERVER["HTTP_USER_AGENT"];
if(stripos($useragent, "mobile")!== false){
return "mobile device";
}else{
return "desktop or laptop computer";
}
}