PHP识别电脑还是手机访问网站

jerry PHP 2015年11月18日 收藏
最近,客户要求网站要判断是手机访问还是电脑访问,然后显示不同的信息,所以就在网上找了,这个,不是原创,重在分享。
  1. <?php
  2. function isMobile(){  
  3.     $useragent=isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';  
  4.     $useragent_commentsblock=preg_match('|\(.*?\)|',$useragent,$matches)>0?$matches[0]:'';        
  5.     function CheckSubstrs($substrs,$text){  
  6.         foreach($substrs as $substr)  
  7.             if(false!==strpos($text,$substr)){  
  8.                 return true;  
  9.             }  
  10.             return false;  
  11.     }
  12.     $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');
  13.     $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');  
  14.           
  15.     $found_mobile=CheckSubstrs($mobile_os_list,$useragent_commentsblock) ||  
  16.               CheckSubstrs($mobile_token_list,$useragent);  
  17.           
  18.     if ($found_mobile){  
  19.         return true;  
  20.     }else{  
  21.         return false;  
  22.     }  
  23. }
  24. if (isMobile())
  25.     echo '手机登录m.php100.com';
  26. else
  27.     echo '电脑登录www.php100.com';
  28. ?>