Home  >  Article  >  Backend Development  >  How to determine whether a user is accessing a php website from a mobile phone_PHP Tutorial

How to determine whether a user is accessing a php website from a mobile phone_PHP Tutorial

WBOY
WBOYOriginal
2016-07-13 10:25:32801browse

With the popularity of mobile devices, the website will also receive more and more visits from mobile devices. Pages adapted to PCs are often not friendly to mobile phone users. Sometimes, we need to determine whether the user is accessing via a mobile phone. If so, jump to the designated mobile phone-friendly page. Here we will introduce how to determine whether the user is accessing via mobile phone.

The customized function is as follows:

Copy code The code is as follows:

$agent = check_wap();
if( $agent )
{
header('Location: http://www.nowamagic.net');
exit;
}

// check if wap
function check_wap(){
// First check whether it is a wap proxy, with high accuracy
if(stristr($_SERVER['HTTP_VIA'],"wap")){
return true;
}
// Check if the browser accepts WML.
elseif(strpos(strtoupper($_SERVER['HTTP_ACCEPT']),"VND.WAP.WML") > 0){
return true;
}
//Check USER_AGENT
elseif(preg_match('/(blackberry|configuration/cldc|hp |hp-|htc |htc_|htc-|iemobile|kindle|midp|mmp| motorola|mobile|nokia|opera mini|opera |Googlebot-Mobile|YahooSeeker/M1A1-R2D2|android|iphone|ipod|mobi|palm|palmos|pocket|portalmmm|ppc;|smartphone|sonyericsson|sqh|spv|symbian| treo|up.browser|up.link|vodafone|windows ce|xda |xda_)/i', $_SERVER['HTTP_USER_AGENT'])){
                 return true; >            return false;


Copy code

The code is as follows:

function is_mobile_request()  
{  
  $_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)/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;  
   

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/825022.htmlTechArticle随着移动设备的普及,网站也会迎来越来越多移动设备的访问。用适应PC的页面,很多时候对手机用户不友好,那么有些时候,我们需要判...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn