当前位置:首页 > PHP教程 > php应用 > 列表

php判断是手机访问还是电脑浏览器的方法

发布:smiling 来源: PHP粉丝网  添加日期:2016-07-27 09:10:52 浏览: 评论:0 

由于现在很多网站是采用响应式布局的、难免会遇到需要判断是手机用户还是电脑用户,那么在手机访问的时候如果要显示百度广告、体验会很差、所有为响应式做的努力都白费了、下面我们找到判断为手机用户php代码分享给大家。

方法一:

  1. <?php   
  2. function isMobile(){     
  3.     $useragent=isset($_SERVER[′HTTP_USER_AGENT′]) ?  
  4. $_SERVER[′HTTP_USER_AGENT′] : ′′;     
  5.     $useragent_commentsblock=preg_match(′|(.*?)| 
  6. ′,$useragent,$matches)>0?$matches[0]:′′;       
  7.     function CheckSubstrs($substrs,$text){     
  8.         foreach($substrs as $substr)     
  9.             if(false!==strpos($text,$substr)){     
  10.                 return true;     
  11.             }     
  12.             return false;     
  13.     }   
  14.     $mobile_os_list=array(′Google Wireless Transcoder′,′Windows CE′, 
  15. ′WindowsCE′,′Symbian′,′Android′,′armv6l′,′armv5′,′Mobile′, 
  16. ′CentOS′,′mowser′,′AvantGo′,′Opera Mobi′,′J2ME/MIDP′, 
  17. ′Smartphone′,′Go.Web′,′Palm′,′iPAQ′);   
  18.     $mobile_token_list=array(′Profile/MIDP′,′Configuration/CLDC-′, 
  19. ′160×160′,′176×220′,′240×240′,′240×320′,′320×240′,′UP.Browser′, 
  20. ′UP.Link′,′SymbianOS′,′PalmOS′,′PocketPC′,′SonyEricsson′, 
  21. ′Nokia′,′BlackBerry′,′Vodafone′,′BenQ′,′Novarra-Vision′, 
  22. ′Iris′,′NetFront′,′HTC_′,′Xda_′,′SAMSUNG-SGH′,′Wapaka′, 
  23. ′DoCoMo′,′iPhone′,′iPod′);     
  24.                  
  25.     $found_mobile=CheckSubstrs($mobile_os_list,$useragent_commentsblock) ||    //phpfensi.com 
  26.               CheckSubstrs($mobile_token_list,$useragent);     
  27.                  
  28.     if ($found_mobile){     
  29.         return true;     
  30.     }else{     
  31.         return false;     
  32.     }    }  if (isMobile())   
  33.     echo ′手机访问 DD博客′;  else 
  34.     echo ′电脑访问 DD博客′;  ?> 

方法二:

  1. function is_mobile_request()  {   
  2. $_SERVER[′ALL_HTTP′] = isset($_SERVER[′ALL_HTTP′])  
  3. $_SERVER[′ALL_HTTP′] : ′′;   
  4. $mobile_browser = ′0′;   
  5. if(preg_match(′/(up.browser|up.link|mmp|symbian|smartphone| 
  6. midp|wap|phone|iphone|ipad|ipod|android|xoom)/i′, 
  7. strtolower($_SERVER[′HTTP_USER_AGENT′])))   
  8. $mobile_browser  ;   
  9. if((isset($_SERVER[′HTTP_ACCEPT′])) and (strpos(strtolower
  10. $_SERVER[′HTTP_ACCEPT′]),′application/vnd.wap.xhtml xml′) !== false))   
  11. $mobile_browser  ;   
  12. if(isset($_SERVER[′HTTP_X_WAP_PROFILE′]))   
  13. $mobile_browser  ;   
  14. if(isset($_SERVER[′HTTP_PROFILE′]))   
  15. $mobile_browser  ;   
  16. $mobile_ua = strtolower(substr($_SERVER[′HTTP_USER_AGENT′],0,4));   
  17. $mobile_agents = array(   
  18. ′w3c ′,′acs-′,′alav′,′alca′,′amoi′,′audi′,′avan′,′benq′,′bird′,′blac′,   
  19. ′blaz′,′brew′,′cell′,′cldc′,′cmd-′,′dang′,′doco′,′eric′,′hipt′,′inno′,   
  20. ′ipaq′,′java′,′jigs′,′kddi′,′keji′,′leno′,′lg-c′,′lg-d′,′lg-g′,′lge-′,   
  21. ′maui′,′maxo′,′midp′,′mits′,′mmef′,′mobi′,′mot-′,′moto′,′mwbp′,′nec-′,   
  22. ′newt′,′noki′,′oper′,′palm′,′pana′,′pant′,′phil′,′play′,′port′,′prox′,   
  23. ′qwap′,′sage′,′sams′,′sany′,′sch-′,′sec-′,′send′,′seri′,′sgh-′,′shar′,   
  24. ′sie-′,′siem′,′smal′,′smar′,′sony′,′sph-′,′symb′,′t-mo′,′teli′,′tim-′,   
  25. ′tosh′,′tsm-′,′upg1′,′upsi′,′vk-v′,′voda′,′wap-′,′wapa′,′wapi′,′wapp′,   
  26. ′wapr′,′webc′,′winw′,′winw′,′xda′,′xda-′ 
  27. );   
  28. if(in_array($mobile_ua$mobile_agents))   
  29. $mobile_browser  ;   
  30. if(strpos(strtolower($_SERVER[′ALL_HTTP′]), ′operamini′) !== false)   
  31. $mobile_browser  ;   
  32. // Pre-final check to reset everything if the user is on Windows   
  33. if(strpos(strtolower($_SERVER[′HTTP_USER_AGENT′]), ′windows′) !== false)   
  34. $mobile_browser=0;   
  35. // But WP7 is also Windows, with a slightly different characteristic   
  36. if(strpos(strtolower($_SERVER[′HTTP_USER_AGENT′]), ′windows phone′) !== false)   
  37. $mobile_browser  ;   
  38. if($mobile_browser>0)   
  39. return true;   
  40. else 
  41. return false;} 

这两种方法我都亲测过、没有问题的、希望对大家有用.

Tags: php浏览器 php手机访问 php电脑

分享到: