php判斷是手機訪問還是電腦瀏覽器的方法

來源:互聯網
上載者:User

方法一

<?php  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;        }    }  if (isMobile())      echo ′手機訪問 DD部落格′;  else    echo ′電腦訪問 DD部落格′;  ?>

方法二

function is_mobile_request()  {  $_SERVER[′ALL_HTTP′] = isset($_SERVER[′ALL_HTTP′]) ? $_SERVER[′ALL_HTTP′] : ′′;  $mobile_browser = ′0′;  if(preg_match(′/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone|iphone|ipad|ipod|android|xoom)/i′,strtolower($_SERVER[′HTTP_USER_AGENT′])))  $mobile_browser  ;  if((isset($_SERVER[′HTTP_ACCEPT′])) and (strpos(strtolower($_SERVER[′HTTP_ACCEPT′]),′application/vnd.wap.xhtml xml′) !== false))  $mobile_browser  ;  if(isset($_SERVER[′HTTP_X_WAP_PROFILE′]))  $mobile_browser  ;  if(isset($_SERVER[′HTTP_PROFILE′]))  $mobile_browser  ;  $mobile_ua = strtolower(substr($_SERVER[′HTTP_USER_AGENT′],0,4));  $mobile_agents = array(  ′w3c ′,′acs-′,′alav′,′alca′,′amoi′,′audi′,′avan′,′benq′,′bird′,′blac′,  ′blaz′,′brew′,′cell′,′cldc′,′cmd-′,′dang′,′doco′,′eric′,′hipt′,′inno′,  ′ipaq′,′java′,′jigs′,′kddi′,′keji′,′leno′,′lg-c′,′lg-d′,′lg-g′,′lge-′,  ′maui′,′maxo′,′midp′,′mits′,′mmef′,′mobi′,′mot-′,′moto′,′mwbp′,′nec-′,  ′newt′,′noki′,′oper′,′palm′,′pana′,′pant′,′phil′,′play′,′port′,′prox′,  ′qwap′,′sage′,′sams′,′sany′,′sch-′,′sec-′,′send′,′seri′,′sgh-′,′shar′,  ′sie-′,′siem′,′smal′,′smar′,′sony′,′sph-′,′symb′,′t-mo′,′teli′,′tim-′,  ′tosh′,′tsm-′,′upg1′,′upsi′,′vk-v′,′voda′,′wap-′,′wapa′,′wapi′,′wapp′,  ′wapr′,′webc′,′winw′,′winw′,′xda′,′xda-′);  if(in_array($mobile_ua, $mobile_agents))  $mobile_browser  ;  if(strpos(strtolower($_SERVER[′ALL_HTTP′]), ′operamini′) !== false)  $mobile_browser  ;  // Pre-final check to reset everything if the user is on Windows  if(strpos(strtolower($_SERVER[′HTTP_USER_AGENT′]), ′windows′) !== false)  $mobile_browser=0;  // But WP7 is also Windows, with a slightly different characteristic  if(strpos(strtolower($_SERVER[′HTTP_USER_AGENT′]), ′windows phone′) !== false)  $mobile_browser  ;  if($mobile_browser>0)  return true;  elsereturn false;}

這兩種方法我都親測過、沒有問題的、希望對大家有用


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.