zoukankan      html  css  js  c++  java
  • wuzhicms访问统计实现方法

    实现目标:程序实现了对整站页面pv的统计
    文件的位置:coreframe/app/content/pv.php
    代码预览:

    /**
    * 总站访问次数统计
    */
    defined('IN_WZ') or exit('No direct script access allowed');
    //加载数据库类
    $db = load_class('db');
    $formdata = array();
    //获取页面URL
    $formdata['referer'] = strip_tags(HTTP_REFERER);
    //获取访问时间
    $formdata['addtime'] = SYS_TIME;
    //获取访问者ip
    $formdata['ip'] = get_ip();
    //验证cookie信息qkey,便于后续对uv和pv的统计
    $qkey = get_cookie('qkey');
    if($qkey=='') {
    $formdata['qkey'] = uniqid();//13位 唯一值,从cookie中获取和写入,用于记录uv和pv
    $lefttime = SYS_TIME+2592000;
    set_cookie('qkey',$formdata['qkey'],$lefttime);
    } else {
    $formdata['qkey'] = $qkey;
    }
    $table = 'web_pv';
    $siteid = intval($GLOBALS['siteid']);
    if($siteid) $table.='_'.$siteid;
    //访问信息写入数据库
    $views = $db->insert($table, $formdata);
    输出pv数量
    echo '$("#web_pv_num").html("'.number_format($views).'");';
    ?>

    表结构:

    DROP TABLE IF EXISTS `wz_web_pv`;
    CREATE TABLE `wz_web_pv` (
      `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
      `referer` varchar(150) NOT NULL,
      `addtime` int(10) unsigned NOT NULL,
      `ip` varchar(15) NOT NULL,
      `qkey` varchar(13) NOT NULL,
      PRIMARY KEY (`id`),
      KEY `qkey` (`qkey`,`addtime`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COMMENT='总站pv统计';

    安装方式:

    所有前台页面中加入下面代码

    <script type="text/javascript" src="{WEBURL}index.php?f=pv"></script>

    相应位置显示浏览量

    <sapn id="#web_pv_num">载入中</span>

    扩展:
    1、可以对uv进行显示
    2、访问ip进行统计
    3、访问页面进行统计

  • 相关阅读:
    Spring.Net的AOP的通知
    Spring.Net的IOC入门
    Unity依赖注入使用
    C#dynamic关键字(1)
    多线线程async与await关键字
    C#面试题
    MangoDB的C#Driver驱动简单例子
    安装vuecli和使用elememtUi
    再也不怕aop的原理了
    easyui实现多选框,并且获取值
  • 原文地址:https://www.cnblogs.com/wuzhicms/p/6029586.html
Copyright © 2011-2022 走看看