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程序员的技术瓶颈分析
Jul 17 PHP
php获取服务器信息的实现代码
Feb 04 PHP
重新认识php array_merge函数
Aug 31 PHP
php判断当前用户已在别处登录的方法
Jan 06 PHP
php实现parent调用父类的构造方法与被覆写的方法
Feb 11 PHP
PHP实现简单搜歌的方法
Jul 28 PHP
PHP explode()函数的几个应用和implode()函数有什么区别
Nov 05 PHP
php实现smarty模板无限极分类的方法
Dec 07 PHP
PHP ADODB生成HTML表格函数rs2html功能【附错误处理函数用法】
May 29 PHP
Yii2框架控制器、路由、Url生成操作示例
May 27 PHP
详解使用php-cs-fixer格式化代码
Sep 16 PHP
PHP策略模式写法
Apr 01 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
解析web文件操作常见安全漏洞(目录、文件名检测漏洞)
2013/06/29 PHP
MySql数据库查询结果用表格输出PHP代码示例
2015/03/20 PHP
修复ie8&amp;chrome下window的resize事件多次执行
2011/10/20 Javascript
js 程序执行与顺序实现详解
2013/05/13 Javascript
js计算任意值之间随机数的方法
2015/01/16 Javascript
js预加载图片方法汇总
2015/06/15 Javascript
thinkphp实现无限分类(使用递归)
2015/12/19 Javascript
js点击按钮实现带遮罩层的弹出视频效果
2015/12/19 Javascript
使用bootstrap实现多窗口和拖动效果
2016/09/22 Javascript
JavaScript实现弹出广告功能
2017/03/30 Javascript
微信小程序开发图片拖拽实例详解
2017/05/05 Javascript
微信小程序实现红包功能(后端PHP实现逻辑)
2018/07/11 Javascript
详解在React项目中安装并使用Less(用法总结)
2019/03/18 Javascript
layui表格 列自动适应大小失效的解决方法
2019/09/06 Javascript
JavaScript HTML DOM 元素 (节点)新增,编辑,删除操作实例分析
2020/03/02 Javascript
vue 解决uglifyjs-webpack-plugin打包出现报错的问题
2020/08/04 Javascript
[02:55]含熏伴清风,风行者至宝、屠夫身心及典藏宝瓶二展示
2020/09/08 DOTA
实例讲解Python编程中@property装饰器的用法
2016/06/20 Python
Python程序员面试题 你必须提前准备!(答案及解析)
2018/01/23 Python
python3+PyQt5实现自定义流体混合窗口部件
2018/04/24 Python
python之信息加密题目详解
2019/06/26 Python
Django 数据库同步操作技巧详解
2019/07/19 Python
python随机数分布random均匀分布实例
2019/11/27 Python
PyQt5多线程防卡死和多窗口用法的实现
2020/09/15 Python
Python根据字符串调用函数过程解析
2020/11/05 Python
6种非常炫酷的CSS3按钮边框动画特效
2016/03/16 HTML / CSS
html5是什么_动力节点Java学院整理
2017/07/07 HTML / CSS
HEMA英国:荷兰原创设计
2018/08/28 全球购物
写自荐信要注意什么
2013/12/26 职场文书
圣诞节红领巾广播稿
2014/02/03 职场文书
师范生自荐信模板
2014/05/28 职场文书
2014迎国庆演讲稿
2014/09/19 职场文书
2014年高二班主任工作总结
2014/12/16 职场文书
付款承诺函范文
2015/01/21 职场文书
领导干部失职检讨书
2015/05/05 职场文书
职位证明模板
2015/06/23 职场文书