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

2014年04月20日 00:48 by:佚名

导读: 判断是手机访问还是电脑访问根据不同的用户群访问不同的页面. 网上找了一个还不错的php代码, 经测试比较准确也好用.

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

以下来自转载, 程序员不详, 老吧博客仅作部分修改..

  1. <?php
  2. header("Content-Type:text/html;charset=utf-8");
  3. date_default_timezone_set('PRC'); //初始化本地时间
  4. function isMobile(){  
  5. $useragent=isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';  
  6. $useragent_commentsblock=preg_match('|(.*?)|',$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','WindowsCE','Symbian','Android','armv6l','armv5','Mobile','CentOS','mowser','AvantGo','Opera Mobi','J2ME/MIDP','Smartphone','Go.Web','Palm','iPAQ');
  15. $mobile_token_list=array('Profile/MIDP','Configuration/CLDC-','160×160','176×220','240×240','240×320','320×240','UP.Browser','UP.Link','SymbianOS','PalmOS','PocketPC','SonyEricsson','Nokia','BlackBerry','Vodafone','BenQ','Novarra-Vision','Iris','NetFront','HTC_','Xda_','SAMSUNG-SGH','Wapaka','DoCoMo','iPhone','iPod');  
  16. $found_mobile=CheckSubstrs($mobile_os_list,$useragent_commentsblock) || CheckSubstrs($mobile_token_list,$useragent); 
  17. if ($found_mobile){  
  18. return true;  
  19. }else{  
  20. return false;  
  21. }  
  22. }
  23. if (isMobile()){
  24. echo '手机登录';
  25. }else{
  26. echo '电脑登录';
  27. }
  28. ?>

这个方法判断是手机访问还是电脑访问还是比较准确的, 根据不同的用户群访问不同的页面是必要的.