用php编写的简单的网站流量统计程序

  • 时间:
  • 浏览:30

流量统计工具,诸如cnzz,百度统计,51啦,都是非常不错的,功能也很强大。闲来没事,自己写了一个简单的流量统计工具,不过只能统计访问时间,访问者ip,访问来路,受访页面,来自搜索引擎和搜索关键词。对比专业的流量统计工作来说肯定是微不足道的,但是说名了一点,其实大多数统计到的数据都没有我们想象那么难,有时候只需一个系统变量或者提取url中的一些信息就可以得出相应的统计信息。


(数据表结构和统计到的部分数据信息)


程序部分:


visited();    //调用统计函数(最好放在公共页面)


//访问量
function visited(){
    $now_time = time();
    $referer_url = $_SERVER['HTTP_REFERER'];    //来自的页面地址
    $from_spider = $keywords = '';
    if(!empty($referer_url)){
        if(strstr($referer_url,'www.baidu.com')){
            $referer_url = explode("&",$referer_url);
            foreach($referer_url as $val){
                if(strstr($val,'wd=')){
                    $keywords = explode("wd=",$val);
                    $keywords = $keywords[1];
                }
            }
            $from_spider = '百度';
            $keywords = urldecode($keywords);
        }elseif(strstr($referer_url,'www.google')){
            $referer_url = explode("&",$referer_url);
            foreach($referer_url as $val){
                if(strstr($val,'q=')){
                    $keywords = explode("q=",$val);
                    $keywords = $keywords[1];
                }
            }
            $from_spider = '谷歌';
            $keywords = urldecode($keywords);
        }    
    }
    //只判断了百度和谷歌的,其他的原理一样
    $theData = array(
        'access_time'    => $now_time,
        'access_date'    => date("Y-m-d",$now_time),
        'access_url'    => $_SERVER['REQUEST_URI'],
        'referer_url'    => $_SERVER['HTTP_REFERER'],
        'keywords'        => $keywords,
        'ip_address'    => $_SERVER['REMOTE_ADDR'],
        'from_spider'    => $from_spider,
    );
    $sql = "insert into stats (access_time,access_date,access_url,referer_url,keywords,ip_address,from_spider) values ('".$theData['access_time']."','".$theData['access_date']."','".$theData['access_url']."','".$theData['referer_url']."','".$theData['keywords']."','".$theData['ip_address']."','".$theData['from_spider']."')";
    echo $sql; exit;mysql_query($sql);
}