Ecmsphp开发中心

1252

帖子

19

跟帖

8

粉丝

用户组:普通会员

头    衔:白银会员

版主

积分
356930
登陆
2134 次
私信
注册时间
2014-06-21 14:06:06
最后登陆时间
2023-09-24 16:04:46

帝国CMS教程:php判断是否手机端打开网页的方法

 [只看主题]
楼主
0 |
发表: 4 年前
| |
| |
跳转

帝国cms使用php判断是否手机端打开网页的方法介绍,是教大家如何使用php判断是否手机端打开网页的教程。


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;

 }


<?

if(isMobile()){

  //是手机端

} else {

 //非手机端

}

?>


以上是使用php判断是否手机端打开网页的教程。

ecmsphp开发中心
ecmsphp开发中心
验证码 换一个

当前在线人数: 0
取消

感谢您的支持,我们会继续努力!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

×

打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

帝国CMS教程:php判断是否手机端打开网页的方法