转载地址:http://www.nowamagic.net/librarys/veda/cate/PHP

随着移动设备的普及,网站也会迎来越来越多移动设备的访问。用适应PC的页面,很多时候对手机用户不友好,那么有些时候,我们需要判断用户是否用手机访问,如果是手机的话,就跳转到指定的手机友好页面。这里就介绍一下,如何判断用户是否用手机访问。

自定义的函数如下:

01 $agent = check_wap();
02 if$agent )
03 {
04     header('Location: http://www.nowamagic.net');
05     exit;
06 }
07  
08 // check if wap
09 function check_wap(){
10     // 先检查是否为wap代理,准确度高
11     if(stristr($_SERVER['HTTP_VIA'],"wap")){
12         return true;
13     }
14     // 检查浏览器是否接受 WML.
15     elseif(strpos(strtoupper($_SERVER['HTTP_ACCEPT']),"VND.WAP.WML") > 0){
16         return true;
17    }
18    //检查USER_AGENT
19    elseif(preg_match('/(blackberry|configuration\/cldc|hp |hp-|htc |htc_|htc-|iemobile|kindle|midp|mmp|motorola|mobile|nokia|opera mini|opera |Googlebot-Mobile|YahooSeeker\/M1A1-R2D2|android|iphone|ipod|mobi|palm|palmos|pocket|portalmmm|ppc;|smartphone|sonyericsson|sqh|spv|symbian|treo|up.browser|up.link|vodafone|windows ce|xda |xda_)/i'$_SERVER['HTTP_USER_AGENT'])){
20         return true;           
21     }
22     else{
23         return false;  
24    }
25 }

再来一个从PHP框架剥离的判断是否为手机移动终端的函数:

01 function is_mobile_request()  
02 {  
03   $_SERVER['ALL_HTTP'] = isset($_SERVER['ALL_HTTP']) ?$_SERVER['ALL_HTTP'] : '';  
04   $mobile_browser '0';  
05   if(preg_match('/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone|iphone|ipad|ipod|android|xoom)/i',strtolower($_SERVER['HTTP_USER_AGENT'])))  
06     $mobile_browser++;  
07   if((isset($_SERVER['HTTP_ACCEPT'])) and(strpos(strtolower($_SERVER['HTTP_ACCEPT']),'application/vnd.wap.xhtml+xml') !== false))  
08     $mobile_browser++;  
09   if(isset($_SERVER['HTTP_X_WAP_PROFILE']))  
10     $mobile_browser++;  
11   if(isset($_SERVER['HTTP_PROFILE']))  
12     $mobile_browser++;  
13   $mobile_ua strtolower(substr($_SERVER['HTTP_USER_AGENT'],0,4));  
14   $mobile_agents array(  
15         'w3c ','acs-','alav','alca','amoi','audi','avan','benq','bird','blac',  
16         'blaz','brew','cell','cldc','cmd-','dang','doco','eric','hipt','inno',  
17         'ipaq','java','jigs','kddi','keji','leno','lg-c','lg-d','lg-g','lge-',  
18         'maui','maxo','midp','mits','mmef','mobi','mot-','moto','mwbp','nec-',  
19         'newt','noki','oper','palm','pana','pant','phil','play','port','prox',  
20         'qwap','sage','sams','sany','sch-','sec-','send','seri','sgh-','shar',  
21         'sie-','siem','smal','smar','sony','sph-','symb','t-mo','teli','tim-',  
22         'tosh','tsm-','upg1','upsi','vk-v','voda','wap-','wapa','wapi','wapp',  
23         'wapr','webc','winw','winw','xda','xda-' 
24         );  
25   if(in_array($mobile_ua$mobile_agents))  
26     $mobile_browser++;  
27   if(strpos(strtolower($_SERVER['ALL_HTTP']), 'operamini') !== false)  
28     $mobile_browser++;  
29   // Pre-final check to reset everything if the user is on Windows  
30   if(strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'windows') !== false)  
31     $mobile_browser=0;  
32   // But WP7 is also Windows, with a slightly different characteristic  
33   if(strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'windows phone') !== false)  
34     $mobile_browser++;  
35   if($mobile_browser>0)  
36     return true;  
37   else
38     return false;  
39 }

PHP CodeBase: 判断用户是否手机访问相关推荐

  1. .NET C# 判断用户是手机访问还是电脑访问

    遇到的问题是这样的,所做的网站分电脑版和手机版,两个版本支付宝支付设置的回调地址为同一个,在回调地址程序里判断支付成功时给了一个成功页面,手机版跟电脑版的成功页面不是同一个页面,是不兼容的,此时要判断 ...

  2. 网页php如何判断登录手机串号_php判断用户是否手机访问代码

    随着移动设备的普及,网站也会迎来越来越多移动设备的访问.用适应PC的页面,很多时候对手机用户不友好,那么有些时候,我们需要判断用户是否用手机访问,如果是手机的话,就跳转到指定的手机友好页面.这里就介绍 ...

  3. 判断用户用手机访问还是用电脑访问网页

    C# 判断用户用手机访问还是用电脑访问网页 string osPat = "mozilla|m3gate|winwap|openwave|Windows NT|Windows 3.1|95| ...

  4. HTML判断客户端,JS代码判断客户端是手机访问还是PC电脑访问

    这篇文章主要为大家详细介绍了JS代码判断客户端是手机访问还是PC电脑访问,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴. 前面给大家讲了<PHP判断判访问设 ...

  5. php怎么判断是否手机网站,php,js判断网站是不是手机访问

    Warning: strncmp() has been disabled for security reasons in /www/web/default/blog/public_html/wp-in ...

  6. js判断是否是手机访问网页

    原理:原理有两个,第一:通过游览器(browser)判断是否是手机:第二:通过访问终端判断是否是手机(userAgent):但是通常考虑到兼容性,需要这两种原理同时使用:具体的实现如下: functi ...

  7. 判断是否是手机访问及手机操作系统

    我们现在做的项目,移动端和PC端网站访问的是同一套接口,那么如何在接口中区分是手机访问还是PC短访问呢? 核心思想:根据请求头(request header)来判断,如何请求没有header或伪造us ...

  8. php判断电脑还是手机浏览器打开网页,php判断是手机还是电脑访问网站

    php判断是手机还是电脑访问网站的方法:首先创建一个PHP示例文件:然后定义一个"is_mobile"方法:接着实现判断检测访问的浏览器为哪一个浏览器的功能:最后在浏览器执行该文件 ...

  9. php手机访问地址吗,如何用php判断电脑访问还是手机访问

    手机上网用户数量越来越大,如今各网站都推出了手机网站,电脑用户访问时直接访问电脑版网页,当用户通过手机访问网站时则跳自动跳转到手机版网页,下面给大家分享一段php中判断电脑访问还是手机访问的代码:&l ...

最新文章

  1. CUDA 8混合精度编程
  2. MFC全局函数开局——AfxGetApp解剖
  3. 基于requests模块的cookie,session和线程池爬取
  4. dynamic programming for knapsack with repeated items algorithm demonstration
  5. Redis---概述
  6. STM32之Systick(系统时钟滴答定时器)
  7. 诗与远方:无题(十)- 小熊夜游走廊记
  8. jQuery 自定义事件的学习笔记
  9. OpenCV-绘制简易直方图DrawHistImg
  10. matlab双峰模型,为什么用MATLAB画的高斯双峰曲线不能永双高斯函数拟合?
  11. Windows server 2012 R2网卡驱动安装经历
  12. android 音乐播放器评测,Android平台四大音乐播放器对比评测
  13. html5 flash播发器,什么时候HTML5视频应该回归到Flash播放器?
  14. 人工智能之启发式搜索算法
  15. C,java,Python,这些名字背后的江湖!
  16. 网络安全知识竞赛(国家信息安全水平考试NISP)模拟题1
  17. 搬家后计算机总重启,电脑无故重启是这一个月来的事了,我刚刚搬家电脑搬到新家那用了没几 爱问知识人...
  18. 第三周项目 侦察队委派任务
  19. 企小码会话存档使用教程——删人提醒
  20. 数据结构—查找(第八章)

热门文章

  1. 十分钟轻松搞懂CSS的五大定位方式!(建议收藏)
  2. Java中 == 和 equals 的区别是什么?
  3. 触发父组件变量_Vue组件之间的传值
  4. java多线程为啥一直用的一个线程_一个Java多线程的问题,颠覆了我多年的认知!...
  5. LinkedList源码阅读笔记(1.8)
  6. 【303】C# 复制窗体 修改名称
  7. 新网域名查询和注册API接口类 源码
  8. 安卓程序员都懂:如何用Espresso对UI界面测试?
  9. Lua基础---lua字符串库函数详解,实例及正则表达式
  10. Windows10 bash 巨硬和Canonical Ltd.的PY交易