首页 » PHP » PHP判定访问来源是否手机端

PHP判定访问来源是否手机端

6951 6

前几天,天地团第二阶段完成,其中加了屏幕自适应,这样手机访问时也能显示比较友好的页面了,但是当点入某个团购时,调用的是dianping的网页,那个网页还仍旧是电脑版,手机上的效果不是很理想,值得庆幸的是dianping的api的返回json数据里已经包含了一个叫deal_h5_url的东西,这个东西正好是该团购为非电脑设备做的html5页面。

于是加上一个判定是否访问来自手机端的function,立马解决问题,非电脑访问时自动跳转到h5_url。

function is_mobile(){
        $mobile_browser = '0';
        
        if(preg_match('/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone|android|ios)/i', strtolower($_SERVER['HTTP_USER_AGENT']))) {
            $mobile_browser++;
        }
        if((strpos(strtolower($_SERVER['HTTP_ACCEPT']),'application/vnd.wap.xhtml+xml')>0) or ((isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE'])))) {
            $mobile_browser++;
        }
        $mobile_ua = strtolower(substr($_SERVER['HTTP_USER_AGENT'],0,4));
        $mobile_agents = array(
                'w3c ','acs-','alav','alca','amoi','audi','avan','benq','bird','blac',
                'blaz','brew','cell','cldc','cmd-','dang','doco','eric','hipt','inno',
                'ipaq','java','jigs','kddi','keji','leno','lg-c','lg-d','lg-g','lge-',
                'maui','maxo','midp','mits','mmef','mobi','mot-','moto','mwbp','nec-',
                'newt','noki','oper','palm','pana','pant','phil','play','port','prox',
                'qwap','sage','sams','sany','sch-','sec-','send','seri','sgh-','shar',
                'sie-','siem','smal','smar','sony','sph-','symb','t-mo','teli','tim-',
                'tosh','tsm-','upg1','upsi','vk-v','voda','wap-','wapa','wapi','wapp',
                'wapr','webc','winw','winw','xda','xda-','Googlebot-Mobile');
        
        if(in_array($mobile_ua,$mobile_agents)) {
            $mobile_browser++;
        }
        
        if (strpos(strtolower($_SERVER['ALL_HTTP']),'OperaMini')>0) {
            $mobile_browser++;
        }
        
        if (strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'windows')>0) {
            $mobile_browser=0;
        }
		//print($_SERVER['HTTP_USER_AGENT']);
        if($mobile_browser>0) {
            return true;
        }else {
            return false;
        }
    }

具体功效可以用电脑和手机分别访问http://tuan.tiandiyoyo.com,然后点任何一个团购内容。

文章评分3次,平均分5.0

本文原始地址:https://www.tiandiyoyo.com/2014/05/detect-mobile-client-by-php/
本站所有文章,除了特别注明外,均为本站原创,转载请注明出处来自www.tiandiyoyo.com

您可能还会对以下文章感兴趣:

评论前先开启评论开关:


6 Comments

  1. Era :

    这个对搞个手机端的很好。

  2. 不是很了解~小白一枚

  3. 神父 :

    你这玩意儿越整越复杂的说

载入分页评论...