PHP判断访问设备是手机还是PC

<?php

if(!isMobile()){

echo "这是手机端";

}else{

echo "这是电脑端";

}

 

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那一定是app

//如果支持wml和html但是wml在html之前则是app

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;

        }

    }

}

?>

文章来源:微笔记_博客

转载于:https://www.cnblogs.com/www-vnote-net/p/5709073.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值