用PHP进行网站访问分析
时间:2008-11-17
来源:互联网
计算出你的访客都来自哪里,在看哪个页面并不是很难,特别是你使用诸如Analog这样的Log分析器的话.
但是如果你想把报告里的结果放在fly上以供随时显示,就有需要一个不同的方法了。
6个月来,我都在忙于将我的Apache的log导入一个SQL数据库然后运行ad-hoc逆向查询它。 不幸的是,那
需要我手动收取log文件,修改一下格式,然后才能导入数据库。我希望能做得更好一些:能够持续更新,并且
足够灵活以支持多站点,多动作(查看页面,广告点击,点入,点出,或者更多,如果需要的话)。
于是,我坐下来,然后讨论下面的表格:
create table tbl_activity_log
( fld_date int, //例如: 19990101
fld_hours text, //是这一天的第几个小时?
fld_remote_ip text, //访客的IP地址
fld_action int, //动作,例如查看页面,点击等等
fld_special text,//哪一页或者是类?
fld_affil_num int //每个站点的标识代码 );
某些人可能更愿意用时间戳去取代fld_date,不过我觉得这个足够了。你也可以另加一个栏目去存放$PATH_INFO,
不过我决定从Special 栏里得到这些信息。 我同时定义了下面这些索引,因为我需要查询其中的每一个。
INDEXES idx_logger_date idx_logger_hour idx_logger_ip idx_logger_action idx_logger_special idx_logger_affil_num
下一步就是把这些信息放入表格。如果每个页面都通过PHP, 所有的站都设在一个地方就太好了。可惜我有一长
串服务器分散在全国,我还必须去24小时的收集每一个服务器上的这些资料。所以这就迫使我需要用一个1x1的GIF。
我的每个页面都有这样一个GIF: (旅行注:c=4,表示这是从4号站点发出的图片请求,b=77,是一个随机产生的乱数)
gif11.php 是一个简单的脚本,放置在我的中央服务器上。
由于那个GIF图象在每个页面,而其后有一个随机数( b=xxxx )使得每一个图象都需要从服务器重新读取,所以每一
个页面的读取都会被中央处理器观察到。 如果你所有的页面和数据库都在一个服务器上,你就不需要这个GIF了,你可以
直接将logging的代码插在每个页首。 同样的logging系统可以用来跟踪广告点击。 复制内容到剪贴板 PHP 代码:
PHP代码用来产生GIF的URL: 复制内容到剪贴板 PHP 代码:
但是如果你想把报告里的结果放在fly上以供随时显示,就有需要一个不同的方法了。
6个月来,我都在忙于将我的Apache的log导入一个SQL数据库然后运行ad-hoc逆向查询它。 不幸的是,那
需要我手动收取log文件,修改一下格式,然后才能导入数据库。我希望能做得更好一些:能够持续更新,并且
足够灵活以支持多站点,多动作(查看页面,广告点击,点入,点出,或者更多,如果需要的话)。
于是,我坐下来,然后讨论下面的表格:
create table tbl_activity_log
( fld_date int, //例如: 19990101
fld_hours text, //是这一天的第几个小时?
fld_remote_ip text, //访客的IP地址
fld_action int, //动作,例如查看页面,点击等等
fld_special text,//哪一页或者是类?
fld_affil_num int //每个站点的标识代码 );
某些人可能更愿意用时间戳去取代fld_date,不过我觉得这个足够了。你也可以另加一个栏目去存放$PATH_INFO,
不过我决定从Special 栏里得到这些信息。 我同时定义了下面这些索引,因为我需要查询其中的每一个。
INDEXES idx_logger_date idx_logger_hour idx_logger_ip idx_logger_action idx_logger_special idx_logger_affil_num
下一步就是把这些信息放入表格。如果每个页面都通过PHP, 所有的站都设在一个地方就太好了。可惜我有一长
串服务器分散在全国,我还必须去24小时的收集每一个服务器上的这些资料。所以这就迫使我需要用一个1x1的GIF。
我的每个页面都有这样一个GIF: (旅行注:c=4,表示这是从4号站点发出的图片请求,b=77,是一个随机产生的乱数)
gif11.php 是一个简单的脚本,放置在我的中央服务器上。
由于那个GIF图象在每个页面,而其后有一个随机数( b=xxxx )使得每一个图象都需要从服务器重新读取,所以每一
个页面的读取都会被中央处理器观察到。 如果你所有的页面和数据库都在一个服务器上,你就不需要这个GIF了,你可以
直接将logging的代码插在每个页首。 同样的logging系统可以用来跟踪广告点击。 复制内容到剪贴板 PHP 代码:
//or you could have a broken gif come back
Header( "Content-type: image/gif");
passthru( "cat clear.gif" ); //send a 1x1 gif
$logger_action=5; //impression
$logger_special=$s; //move the $s param for the logger
$fld_affil_num=$c; //ditto for the $c param
include('connect.inc'); //connect to the DB SERVER
include('logger.inc'); //Exanded below
PHP代码用来产生GIF的URL: 复制内容到剪贴板 PHP 代码:
作者: LAMP兄弟连 发布时间: 2008-11-17
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28