PHP判断是否为手机访问

​ ​有时候我们需要判断访问是来自手机端还是PC端,PHP可以很方便的进行判断。 ​ ​$_SERVER[‘HTTP_USER_AGENT’]中含有访问的头信息(header),根据它我们可以做出判断 。 ​ ​function isMobile() ​ ​{ ​ ​ $useragent=isset($_SERVER[‘HTTP_USER_AGENT’]) ? $_SERVER[‘HTTP_USER_AGENT’] : ‘’; ​ ​ $useragent_commentsblock=preg_match(‘|\(.*?\)|’,$useragent,$matches)>0?$matches[0]:’’; ​ ​ function CheckSubstrs($substrs,$text) ​ ​ { ​ ​ foreach($substrs as $substr) ​ ​ if(false!==strpos($text,$substr)){ ​ ​ return true; ​ ​ } ​ ​ return false; ​ ​ } ​ ​ $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’); ​ ​ $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’); ​ ​ ​ ​ $found_mobile=CheckSubstrs($mobile_os_list,$useragent_commentsblock) || ​ ​ CheckSubstrs($mobile_token_list,$useragent); ​ ​ ​ ​ if ($found_mobile) ​ ​ { ​ ​ return true; ​ ​ } ​ ​ else ​ ​ { ​ ​ return false; ​ ​ } ​ ​} ​ ​这个方法稍加改造也可以判断是否用某种浏览器打开。