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 相关文章推荐
在PHP3中实现SESSION的功能(二)
Oct 09 PHP
PHP 判断常量,变量和函数是否存在
Apr 26 PHP
解析php框架codeigniter中如何使用框架的session
Jun 24 PHP
PHP使用imagick读取PDF生成png缩略图的两种方法
Mar 20 PHP
ThinkPHP使用Smarty第三方插件方法小结
Mar 19 PHP
PHP预定义变量9大超全局数组用法详解
Apr 23 PHP
php中json_encode不兼容JSON_UNESCAPED_UNICODE的解决方案
May 31 PHP
php禁用函数设置及查看方法详解
Jul 25 PHP
php通过执行CutyCapt命令实现网页截图的方法
Sep 30 PHP
PHP删除数组中指定下标的元素方法
Feb 03 PHP
PHP中rename()函数的妙用讲解
Feb 28 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
Mar 24 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
PHP正确配置mysql(apache环境)
2011/08/28 PHP
Linux安装配置php环境的方法
2016/01/14 PHP
鼠标经过的文本框textbox变色
2009/05/21 Javascript
jQuery拖动图片删除示例
2013/05/10 Javascript
js中substring和substr的详细介绍与用法
2013/08/29 Javascript
jQuery CSS()方法改变现有的CSS样式表
2014/09/09 Javascript
js库Modernizr的介绍和使用
2015/05/07 Javascript
ECMAScript6函数剩余参数(Rest Parameters)
2015/06/12 Javascript
jquery实现的淡入淡出下拉菜单效果
2015/08/25 Javascript
jQuery实现输入框下拉列表树插件特效代码分享
2015/08/27 Javascript
JavaScript必知必会(九)function 说起 闭包问题
2016/06/08 Javascript
js 获取本地文件及目录的方法(推荐)
2016/11/10 Javascript
学好js,这些js函数概念一定要知道【推荐】
2017/01/19 Javascript
Angular.js 4.x中表单Template-Driven Forms详解
2017/04/25 Javascript
Angular2实现的秒表及改良版示例
2019/05/10 Javascript
Node.js实现简单管理系统
2019/09/23 Javascript
[01:01:22]VGJ.S vs OG 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
精确查找PHP WEBSHELL木马的方法(1)
2011/04/12 Python
使用pandas读取csv文件的指定列方法
2018/04/21 Python
Python实现的简单排列组合算法示例
2018/07/04 Python
python装饰器简介---这一篇也许就够了(推荐)
2019/04/01 Python
Windows系统下pycharm中的pip换源
2020/02/23 Python
CSS3盒子模型详解
2013/04/24 HTML / CSS
Needle & Thread官网:英国仙女品牌
2018/01/13 全球购物
The Body Shop美体小铺西班牙官网:天然化妆品
2019/06/21 全球购物
计算机专业学生的自我评价
2013/12/15 职场文书
自我评价范文分享
2014/01/04 职场文书
社会实践活动总结报告
2014/04/29 职场文书
创建绿色社区汇报材料
2014/08/22 职场文书
英语四级考试作弊检讨书
2014/09/29 职场文书
单位作风建设剖析材料
2014/10/11 职场文书
离婚协议书范本(通用篇)
2014/11/30 职场文书
2015年环卫工作总结
2015/04/28 职场文书
民主生活会主持词
2015/07/01 职场文书
2015七夕情人节宣传语
2015/07/14 职场文书
一篇文章告诉你如何实现Vue前端分页和后端分页
2022/02/18 Vue.js