好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

PHP根据HTTP_USER_AGENT判断客户端访问是否为手机访

PHP根据HTTP_USER_AGENT判断客户端访问是否为手机访问

现在web发展速度非常快,各种响应式的站点越来越多,除了APP外,在平时可能需要根据客户终端访问来加载不同时模板或跳转到不同时的域名下,现在分享一个函数,可以做到这样判断.android、ios和wp都已经测试过.

PHP实例代码如下:

//判断moblie   function  is_mobile()  {       $_SERVER [ 'ALL_HTTP' ] = isset( $_SERVER [ 'ALL_HTTP' ]) ?  $_SERVER [ 'ALL_HTTP' ] :  '' ;         $mobile_browser  =  '0' ;         if (preg_match( '/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone|iphone|ipad|ipod|android|xoom|ios)/i' ,  strtolower ( $_SERVER [ 'HTTP_USER_AGENT' ])))           $mobile_browser ++;         if ((isset( $_SERVER [ 'HTTP_ACCEPT' ]))  and  ( strpos ( strtolower ( $_SERVER [ 'HTTP_ACCEPT' ]), 'application/vnd.wap.xhtml+xml' ) !== false))           $mobile_browser ++;         if (isset( $_SERVER [ 'HTTP_X_WAP_PROFILE' ]))           $mobile_browser ++;         if (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-'                           );         if (in_array( $mobile_ua ,  $mobile_agents ))           $mobile_browser ++;         if ( strpos ( strtolower ( $_SERVER [ 'ALL_HTTP' ]),  'operamini' ) !== false)           $mobile_browser ++;       // Pre-final check to reset everything if the user is on Windows        if ( strpos ( strtolower ( $_SERVER [ 'HTTP_USER_AGENT' ]),  'windows' ) !== false)           $mobile_browser =0;         // But WP7 is also Windows, with a slightly different characteristic        if ( strpos ( strtolower ( $_SERVER [ 'HTTP_USER_AGENT' ]),  'windows phone' ) !== false)           $mobile_browser ++;         if ( $mobile_browser >0)           return  true;       else            return  false;  } 

查看更多关于PHP根据HTTP_USER_AGENT判断客户端访问是否为手机访的详细内容...

  阅读:43次