加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2023-04-17 12:52:13 所属栏目:PHP教程 来源:
导读:本文给大家分享的是一则php判断是否移动端访问的函数,是之前收藏的,这里发出来,推荐给小伙伴们。忘记在哪里获取的函数了,刚才不了心在一个包里面找到,临时保存起来,代码如下:/** * 是否移动端访问访问 * *

本文给大家分享的是一则php判断是否移动端访问的函数,是之前收藏的,这里发出来,推荐给小伙伴们。

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

/** 

 * 是否移动端访问访问 

 * 

 * @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; 

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

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!