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、访问页面进行统计

上一篇:Hadoop第12周练习—HBase安装部署


下一篇:hdu1260(dp)