php判断是手机访问还是电脑浏览器的方法
发布:smiling 来源: PHP粉丝网 添加日期:2016-07-27 09:10:52 浏览: 评论:0
由于现在很多网站是采用响应式布局的、难免会遇到需要判断是手机用户还是电脑用户,那么在手机访问的时候如果要显示百度广告、体验会很差、所有为响应式做的努力都白费了、下面我们找到判断为手机用户php代码分享给大家。
方法一:
- <?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) || //phpfensi.com
- 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;
- else
- return false;}
这两种方法我都亲测过、没有问题的、希望对大家有用.
Tags: php浏览器 php手机访问 php电脑
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)