Welcome 微信登录

首页 / 网页编程 / PHP / PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码

有时候很实用在一些场合,留住备用吧

复制代码 代码如下:
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;  
    }

文章来源:http://yi1.com.cn/posts/781

php 根据HTTP_USER_AGENT 判断用户浏览器类型
复制代码 代码如下:
function browsers(){
   global $HTTP_USER_AGENT ;
   if (isset($HTTP_USER_AGENT)){
    $sAgent = $HTTP_USER_AGENT;
   }else{
    $sAgent = $_SERVER["HTTP_USER_AGENT"];
   }
   if (strpos($sAgent,"MSIE") !== false && strpos($sAgent,"mac") === false && strpos($sAgent,"Opera") === false){
    $iVersion = (float)substr($sAgent,strpos($sAgent,"MSIE") + 5,3);
    return ($iVersion >= 5.5) ;
   }else if (strpos($sAgent,"Gecko/") !== false){
    $iVersion = (int)substr($sAgent,strpos($sAgent,"Gecko/") + 6,8);
    return ($iVersion >= 20030210) ;
   }else{
    return false;
   }
  }