这个转载的目的非常明确,为了我的优乐笑话的手机版做准备的。
之前一直是手工判定,现在居然找到这样的代码,肯定是要收藏备份和使用的了。
原文如下:
转载出处:http://www.phpcxz.com/archives/view_383.html
做个手机站,从表象上来说,真的很容易的噢。一个页面就能包罗万象。可是,现在站长要告诉你的是,那都是表象。其实,我们都是伤不起的。
比如,我今天做的一个应用,运营部有新需求,要求根据手机用户平台或电脑浏览器所能支持的版本返回不同的页面。也就是说,现在我的程序里面有两套模板。一套模板是专门给不支持wap2.0的用户访问的,一套是给支持wap2.0手机访问的。现在问题就来了,我怎样才能判断用户客户端是什么平台呢?比如:现在的QQ浏览器、UC浏览器、Opera浏览器,还有FireFox、IE等浏览器。比如,IE浏览器与FireFox浏览器是不支持wap 简单版本的。其他浏览器对wap 1.x版本的支持又各不相同。纠结从此开始了。恶梦也随之而来。
我告诉自己,我是小强,不死的化身。这个小问题就能搞死我,哼。可能吗?不可能吗?
新浪,网易,QQ等手机站都能做得来,我为什么做不来呢?咱不信自己属于孬的。
为了了解这些浏览器的特性或HTTP协议,百度了一下,谷歌了一下。还不错,有一篇贴子介绍HTTP协议的。仔细看了下,觉得讲得非常详细,其中谈到了一个特性,我刚好可以利用来判断用户是否支持wap 2.0。简直太好了。[HTTP协议的那篇文章已经转载到PHP初学者网站]
我通过以下函数获取并判断了用户浏览器是否支持wap2.0.希望正在开发WAP站或准备学习WAP开发的你,一定要看。
04 | function is_support_wap() |
07 | foreach ( $_SERVER as $key => $value ) |
09 | if ( substr ( $key , 0, 5) == “HTTP_”) |
11 | $key = str_replace (” “, “-”, ucwords( strtolower ( str_replace (“_”, ” “, substr ( $key ,5))))); |
19 | $accept = $headers [ 'Accept' ]; |
20 | $accept_arr = explode (‘,’, $accept ); |
21 | foreach ( $accept_arr as $key => $aa ) |
23 | $accept_arr [ $key ] = trim( $aa ); |
26 | if (in_array(‘application/xhtml+xml’, $accept_arr )) |
31 | elseif (in_array(‘text/vnd.wap.wml’, $accept_arr )) |
------------正 文 已 结 束, 感 谢 您 的 阅 读 (折雨的天空)--------------------
转载请注明本文标题和链接:《PHP判断手机浏览器支持的协议版本》
发表评论