检测移动设备 - 和平板电脑设备

den*_*lau 22 php mobile device-detection

我目前正在寻找一些用于移动设备PHP检测的代码,这可能非常简单.

现在我只有一个问题 - 我希望能够在我的MVC框架中为平板电脑,手机和网页制作独特的视图文件.所以我需要将平板电脑与其他移动设备分开.

目前这是我正在使用的代码:

public function isMobile()
{   
    if(preg_match('/(alcatel|amoi|android|avantgo|blackberry|benq|cell|cricket|docomo|elaine|htc|iemobile|iphone|ipad|ipaq|ipod|j2me|java|midp|mini|mmp|mobi|motorola|nec-|nokia|palm|panasonic|philips|phone|sagem|sharp|sie-|smartphone|sony|symbian|t-mobile|telus|up\.browser|up\.link|vodafone|wap|webos|wireless|xda|xoom|zte)/i', $_SERVER['HTTP_USER_AGENT']))
    return true;
else
    return false;
}
Run Code Online (Sandbox Code Playgroud)

但这还不够 - 唯一的检查是设备是移动设备 - 如果不是它是标准告诉框架,我们在计算机上.最后一部分还可以 - 但是我想在实际的移动设备中拆分移动设备 - 以及应该是平板电脑的分组.

我希望,我已经明确表达了我的愿望,并且我希望,你有一些好的方法可以实现这一目标.

提前致谢.

Joe*_*Joe 33

这是一个具有单独检测每个平台的方法的类.

  • 刚才发现今天早些时候!我准确地回答了这个问题这个答案是如何回答的!+1 (3认同)

Ale*_*chi 8

老问题,但这里有我对移动检测的看法.

您在问题中说明您想要移动设备的唯一文件,因此我可以假设其原因是为移动客户端和桌面客户端提供不同版本的网站.

这种方法可以直到某一点.而这一点被称为Android.每天有大约150万台 Android设备被激活,分辨率从320*240到2560*1600,这使得if {} else每个设备都难以实现.即使您尝试使用最常用的设备制作列表,并且您尝试仅针对这些设备,也很难在将来支持新设备.

我的方法不久就是忘记了将设备拆分为"移动"和"桌面"类别的旧方法,并创建了一种新方法.并且该方法包括基于浏览器功能的"好"和"坏"浏览器.例如,如果浏览器支持本地存储,则它将处于"良好"类别.

从这开始,我有可能创建一个网站的"基础"版本,从UI的角度来看非常基本但是可以跨浏览器工作.该网站的基本版本将在所有设备上呈现相同的内容(因为这在一天结束时很重要),尺寸将非常小(资产少,html较小)并且基于浏览器功能将在客户端上得到丰富侧.

因此,最终您将拥有一个占地面积非常小(html大小和资产)的网站,它看起来可以跨浏览器,并且它将支持市场上出现的任何新设备而无需任何更改,即使在连接不良,可以根据浏览器功能在客户端进行丰富.

您甚至可以根据设备大小丰富网页:如果浏览器报告大屏幕,您可以引入更多资产,更多广告并使网页更加美观; 如果浏览器报告在小屏幕上,则保持原样.


小智 5

Mobile_Detect是一个轻量级PHP类,用于检测移动设备(包括平板电脑).它使用User-Agent字符串与特定HTTP标头相结合来检测移动环境.- 阅读更多 http://mobiledetect.net