对于我的网站,我需要能够区分Android平板电脑访问时间和Android手机访问时间之间的区别。在将页面发送给用户之前需要检测它,因此使用JavaScript检查屏幕res不是一种选择。
目前我使用它来检测Android设备: stripos($ ua,'android')
平板电脑的用户代理有什么独特之处吗?
答案 0 :(得分:5)
您可以使用PHP的$ _SERVER ['HTTP_USER_AGENT'],然后使用不区分大小写的eregi函数来查找以下内容,假设浏览器开发人员遵循Android的用户代理规范指南:
$ua = $_SERVER['HTTP_USER_AGENT'];
if (eregi('Android', $ua) && eregi('Mobile', $ua)) $platform = "Android Phone";
elseif (eregi('Android', $ua) && !eregi('Mobile', $ua)) $platform = "Android Tablet";
这不是万无一失的,但这是一个开始。
答案 1 :(得分:0)
结帐WURFL项目。它应该能够帮助您不仅在Android手机和Android平板电脑方案中,而且还可以帮助您。
答案 2 :(得分:0)
@Patrick Kershner,您的代码仅适用于Apple产品系列。每个Apple设备都会发送自己的UA,但Android设备并非如此。事实上,这篇文章的作者需要知道Android设备是平板电脑还是手机而不使用Javascript。用户user336828提交的代码是一个很好的解决方法,虽然不是100%可靠:一些克隆/白标/低质量设备可能从平板电脑和手机发送完全相同的UA字符串,但我认为这应该适用于大多数知名品牌的设备。我刚刚在Android手机和平板电脑上测试了这些代码并且它正在运行。
答案 3 :(得分:-2)
if(strstr($_SERVER['HTTP_USER_AGENT'],'iPod') || strstr($_SERVER['HTTP_USER_AGENT'],'iPhone') || strstr($_SERVER['HTTP_USER_AGENT'],'iPad') || strstr($_SERVER['HTTP_USER_AGENT'],'Android')){
//do something...
}
为我工作