PHP识别网站访问来源是电脑还是手机

    public function test($request, $response) {
        if (self::isMobile())
            echo '手机登录m.php100.com';
        else
            echo '电脑登录www.php100.com';
    }
    private function isMobile() {
        $useragent = isset ( $_SERVER ['HTTP_USER_AGENT'] ) ? $_SERVER ['HTTP_USER_AGENT'] : '';
        var_dump($useragent);
        $useragent_commentsblock = preg_match ( '|\(.*?\)|', $useragent, $matches ) > 0 ? $matches [0] : '';
        var_dump($useragent_commentsblock);
        $mobile_os_list = array (
                'Google Wireless Transcoder',
                'Windows CE',
                'WindowsCE',
                'Symbian',
                'Android',
                'armv6l',
                'armv5',
                'Mobile',
                'CentOS',
                'mowser',
                'AvantGo',
                'Opera Mobi',
                'J2ME/MIDP',
                'Smartphone',
                'Go.Web',
                'Palm',
                'iPAQ'
        );
        $mobile_token_list = array (
                'Profile/MIDP',
                'Configuration/CLDC-',
                '160×160',
                '176×220',
                '240×240',
                '240×320',
                '320×240',
                'UP.Browser',
                'UP.Link',
                'SymbianOS',
                'PalmOS',
                'PocketPC',
                'SonyEricsson',
                'Nokia',
                'BlackBerry',
                'Vodafone',
                'BenQ',
                'Novarra-Vision',
                'Iris',
                'NetFront',
                'HTC_',
                'Xda_',
                'SAMSUNG-SGH',
                'Wapaka',
                'DoCoMo',
                'iPhone',
                'iPod'
        );
        $found_mobile = self::CheckSubstrs ( $mobile_os_list, $useragent_commentsblock ) || self::CheckSubstrs ( $mobile_token_list, $useragent );
        if ($found_mobile) {
            return true;
        } else {
            return false;
        }
    }
    private function CheckSubstrs($substrs, $text) {
        foreach ( $substrs as $substr )
            if (false !== strpos ( $text, $substr )) {
            return true;
        }
        return false;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值