Total Pageviews

Monday, 8 April 2013

PHP判断用户是否用手机访问网站

PHP应该能判断用户是否用手机访问网站吧,记得早些年,在QQ空间的留言板上还出现了该留言来自于手机的提示呢,虽然QQ空间不是用PHP开发的。于是,今天来网络上搜索了一番。找到了一个貌似还可以的方法。参考地址: php如何判断用户通过手机wap访问还是电脑直接访问   手机需通过代理服务器来访问网站,http头信息里一般会包含一个VIA的信息,不太懂具体是什么含义,大概都是通信用的。于是我建了一个脚本 测试下,<?php echo $_SERVER['HTTP_VIA'] ?>,用火狐,IE打开什么也没有。上传到网上,用我的手机访问了一下,有如下信息:HTTP/1.1 ZJHZ-PS-WAP3-GW305(infox-WISG, Huawei Technologies)。那就按照参考文章的说法,如果获取到了HTTP头信息中的VIA并且含WAP,说明是手机访问。当然对那些头信息里没有发送VIA的手机就无效了
  这样就写了一个函数来封装一下,以方便使用。代码如下:
/*
 * 功能:               判断是否是手机访问
 * 参数:               无
 * 返回值:             返回1为是手机访问,返回0时为不是
 */
function is_wap() {
    $http_via = isset($_SERVER['HTTP_VIA']) ? strtolower($_SERVER['HTTP_VIA']) : '';
    return !empty($http_via) && strstr($http_via, 'wap') ? 1 : 0;      
}