phpは携帯電話端末と微信ブラウザを判断する


function isMobile() { 
  //    HTTP_X_WAP_PROFILE        
  if (isset($_SERVER['HTTP_X_WAP_PROFILE'])) {
    return true;
  } 
  //   via    wap        ,           
  if (isset($_SERVER['HTTP_VIA'])) { 
    //     flase,   true
    return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false;
  } 
  //    ,            ,       。  'MicroMessenger'     
  if (isset($_SERVER['HTTP_USER_AGENT'])) {
    $clientkeywords = array('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','MicroMessenger'); 
    //  HTTP_USER_AGENT            
    if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) {
      return true;
    } 
  } 
  //    ,        ,      
  if (isset ($_SERVER['HTTP_ACCEPT'])) { 
    //      wml     html        
    //     wml html  wml html        
    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;
}
function isWeixin() { 
  if (strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false) { 
    return true; 
  } else {
    return false; 
  }
}