php函数实现判断是否移动端访问


Posted in PHP onMarch 03, 2015

忘记在哪里获取的函数了,刚才不了心在一个包里面找到,临时保存起来

/**

 * 是否移动端访问访问

 *

 * @return bool

 */

function 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',

            '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;

}

非常简单实用的函数,分享给大家,希望大家能够喜欢。

PHP 相关文章推荐
PHP调用三种数据库的方法(2)
Oct 09 PHP
让PHP支持页面回退的两种方法[转]
Feb 14 PHP
用php获取本周,上周,本月,上月,本季度日期的代码
Aug 05 PHP
比较discuz和ecshop的截取字符串函数php版
Sep 03 PHP
php获取当前时间的毫秒数的方法
Jan 26 PHP
php计算两个文件相对路径的方法
Mar 14 PHP
thinkPHP删除前弹出确认框的简单实现方法
May 16 PHP
CI框架扩展系统核心类的方法分析
May 23 PHP
PHP加密解密类实例代码
Jul 20 PHP
Laravel5框架自定义错误页面配置操作示例
Apr 17 PHP
thinkphp5.1框架中容器(Container)和门面(Facade)的实现方法分析
Aug 05 PHP
Yii实现微信公众号场景二维码的方法实例
Aug 30 PHP
php中instanceof 与 is_a()区别分析
Mar 03 #PHP
PHP中大于2038年时间戳的问题处理方案
Mar 03 #PHP
ecshop 2.72如何修改后台访问地址
Mar 03 #PHP
PHP自带ZIP压缩、解压缩类ZipArchiv使用指南
Mar 03 #PHP
ecshop后台编辑器替换成ueditor编辑器
Mar 03 #PHP
php使用curl出现Expect:100-continue解决方法
Mar 03 #PHP
php实现四舍五入的方法小结
Mar 03 #PHP
You might like
example2.php
2006/10/09 PHP
利用“多说”制作留言板、评论系统
2015/07/14 PHP
PHP获取昨天、今天及明天日期的方法
2016/02/03 PHP
php实现遍历文件夹的方法汇总
2017/03/02 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
2020/02/27 PHP
jQuery Validation插件remote验证方式的Bug解决
2010/07/01 Javascript
function foo的原型与prototype属性解惑
2010/11/19 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(二)人物行走的实现
2013/01/23 Javascript
js关闭父窗口时关闭子窗口
2013/04/01 Javascript
javascript强大的日期函数代码分享
2013/09/04 Javascript
前端开发过程中浏览器版本的两种判定方法
2013/10/30 Javascript
javascript获取元素偏移量的方法有哪些
2014/06/24 Javascript
用angular实现多选按钮的全选与反选实例代码
2017/05/23 Javascript
基于Vue实例生命周期(全面解析)
2017/08/16 Javascript
JS实现的数组去除重复数据算法小结
2017/11/17 Javascript
解决vue this.$forceUpdate() 处理页面刷新问题(v-for循环值刷新等)
2018/07/26 Javascript
Vue中使用Lodop插件实现打印功能的简单方法
2019/12/19 Javascript
vue.js中使用微信扫一扫解决invalid signature问题(完美解决)
2020/04/11 Javascript
Python中用Descriptor实现类级属性(Property)详解
2014/09/18 Python
python 通过xml获取测试节点和属性的实例
2018/03/31 Python
对numpy 数组和矩阵的乘法的进一步理解
2018/04/04 Python
对python 中re.sub,replace(),strip()的区别详解
2019/07/22 Python
Django admin 实现search_fields精确查询实例
2020/03/30 Python
Django数据统计功能count()的使用
2020/11/30 Python
美国第二大团购网站:LivingSocial
2016/07/24 全球购物
Cotton On美国网站:澳洲时装连锁品牌
2016/10/25 全球购物
印度化妆品购物网站:Nykaa
2018/07/22 全球购物
写给女生的道歉信
2014/01/08 职场文书
心理健康教育制度
2014/01/27 职场文书
数学检讨书1000字
2014/02/24 职场文书
婚礼司仪主持词
2014/03/14 职场文书
农业项目建议书
2014/08/25 职场文书
超市开店计划书
2014/09/15 职场文书
2015年七年级班主任工作总结
2015/05/21 职场文书
单位领导婚礼致辞
2015/07/28 职场文书
青年文明号创建口号大全
2015/12/25 职场文书