• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php判断是否为移动设备

php 搞代码 4年前 (2022-01-04) 14次浏览 已收录 0个评论

现在移动设备大热的年代,可能我们在做web前端开发的时候经常会需要用到对移动设备的页面匹配。当然我们可以用响应式页面设计来处理前端的匹配问题,但是响应式页面只是不显示某些代码,但是还是会加载到用户的移动设备中。

为了更好的照顾到用户手机浏览的体验,减少不必要的加载。我们可以再通过PHP的方式来减少用户的代码加载,提高用户浏览页面时的体验。 (推荐学习:PHP视频教程)

由于现在移动设备的种类繁多、而且浏览器五花八门,所以仅仅是通过UA来判断已经不能完全解决问题了。

下面分享一个PHP现成的方法用于PHP做移动设备的判断

<?phpfunction isMobile(){     // 如果有HTTP_X_WAP_PROFILE则一定是移动设备    if (isset ($_SERVER['HTTP_X_WAP_PROFILE']))    {        return true;    }     // 如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息    if (isset ($_SERVER['HTTP_VIA']))    {         // 找不到为flase,否则为true        return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false;    }     // 脑残法,判断手机发送的客户端标志,兼容性有待提高    if (isset ($_SERVER['HTTP_USER_AGENT']))    {        $clientkeywords = array ('nokia',            'sony',            'ericsson',            'mot',            'samsung',            'htc',            'sgh',            'lg',            'sharp',            'sie-',            'philips',            'panasonic',            'alcatel',            'lenovo',            'iphone',            'ipod',            'blackberry',            'meizu',            'android',            'netfront',            'symbian',            'ucweb',           <p style="color:transparent">来源gao!%daima.com搞$代*!码网</p> 'windowsce',            'palm',            'operamini',            'operamobi',            'openwave',            'nexusone',            'cldc',            'midp',            'wap',            'mobile'            );         // 从HTTP_USER_AGENT中查找手机浏览器的关键字        if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT'])))        {            return true;        }     }     // 协议法,因为有可能不准确,放到最后判断    if (isset ($_SERVER['HTTP_ACCEPT']))    {         // 如果只支持wml并且不支持html那一定是移动设备        // 如果支持wml和html但是wml在html之前则是移动设备        if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html'))))        {            return true;        }     }     return false;} ?>

目前这个方法可以用于大多数的移动设备判断,使用时也可以根据需要自行添加一些UA的判断参数

以上就是php判断是否为移动设备的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php判断是否为移动设备
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址