判断是手机访问还是电脑访问及是否是微信浏览器

PHP / 作者:HMiJn / 999人浏览
    //判断是否 微信浏览器
    private function isWeiXin()
    {
        if (strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false) {
            return true;
        } else {
            return false;
        }
    }
    //判断是PC还是wap
    private function isMobile()
    {
        if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])) return true;
        if(isset ($_SERVER['HTTP_CLIENT']) &&'PhoneClient'==$_SERVER['HTTP_CLIENT']) return true;
        if (isset ($_SERVER['HTTP_VIA'])) return stristr($_SERVER['HTTP_VIA'], 'wap') ? true : false;
        if (isset ($_SERVER['HTTP_USER_AGENT'])) {
            $clientkeywords =
            [
                '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'
            ];
            if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) {
                return true;
            }
        }
        if (isset ($_SERVER['HTTP_ACCEPT'])) {
            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;
    }


isWeiXin()   true:是微信浏览器  false:不是

isMobile()   true:是手机             false:不是


如果想要判断只能是手机微信浏览器不是电脑微信浏览器,则两个方法都返回true就行。