码迷,mamicode.com
首页 > 移动开发 > 详细

PHP判断是否为手机访问

时间:2015-08-29 17:21:54      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:

        有时候我们需要判断访问是来自手机端还是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;  

         }  

        }

        这个方法稍加改造也可以判断是否用某种浏览器打开。

PHP判断是否为手机访问

标签:

原文地址:http://my.oschina.net/u/1442053/blog/498904

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!