用PHP针对上百兆的*.log日志文件,用什么方法做PV统计较好?

nationzhou 2010-08-09 09:01:33
1.做计划任务:零晨过后,把昨天的log文件一行一行的读出来分析,并做统计,然后将统计结果放进数据库。是否可取?
2.根据需要,有时要做实时做统计,实时做pv统计,也是一行一行的读吗?会不会影响当前*.log的更新?
3.方法1和2占用内存的情况怎样?
...全文
187 点赞 收藏 12
写回复
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
woshimajia0005 2010-08-10
[Quote=引用 1 楼 cunningboy 的回复:]

PHP code
$fp = fopen($filename, 'r'); // 只读操作,不会影响写入
$buf = fread($fp, $len); //每次指定固定长度的buffer来读取,而不是读取所有文件,占用内存少
do {
//这里做你的统计操作
} while($buf = fread($fp, $len));
fclose($fp);
[/Quote]

学习
回复
nationzhou 2010-08-10
[Quote=引用 8 楼 dingsongtao 的回复:]
引用 7 楼 nationzhou 的回复:

引用 6 楼 dingsongtao 的回复:
做个PV统计至于这样吗???
那么多免费的pv统计系统,注册个帐号,把代码加进来就可以了.
如cnnz

请问有wap网站的pv统计软件吗?

怎么会没有??
http://tj.tajiu.net
http://www.wapwat.com/
MMCLICK 4.0 WAP流……
[/Quote]
你有没有在用那个?那个比较好尼?
回复
nationzhou 2010-08-10
[Quote=引用 9 楼 fxs_2008 的回复:]
UP 百兆文件如何快速读写且不占过多内存
[/Quote]
顶上!请说说你的方法
回复
fxs_2008 2010-08-10
UP 百兆文件如何快速读写且不占过多内存
回复
Dleno 2010-08-10
[Quote=引用 7 楼 nationzhou 的回复:]

引用 6 楼 dingsongtao 的回复:
做个PV统计至于这样吗???
那么多免费的pv统计系统,注册个帐号,把代码加进来就可以了.
如cnnz

请问有wap网站的pv统计软件吗?
[/Quote]
怎么会没有??
http://tj.tajiu.net
http://www.wapwat.com/
MMCLICK 4.0 WAP流量统计器
http://n.mmclick.com/
www.pc3g.com
www.uisky.com
。。。。。。。。。。。。。。。。。。。。。。。
多得只怕你不知道用哪个!!!
回复
nationzhou 2010-08-10
[Quote=引用 6 楼 dingsongtao 的回复:]
做个PV统计至于这样吗???
那么多免费的pv统计系统,注册个帐号,把代码加进来就可以了.
如cnnz
[/Quote]
请问有wap网站的pv统计软件吗?
回复
Dleno 2010-08-09
做个PV统计至于这样吗???
那么多免费的pv统计系统,注册个帐号,把代码加进来就可以了.
如cnnz
回复
CodeBus 2010-08-09
php做这个还是有点吃力。用现成的软件最好比如awstats。
回复
CunningBoy 2010-08-09
[Quote=引用 3 楼 nationzhou 的回复:]
在下次访问实时统计程序时,可以从上次统计结束的位置开始统计吗?这样不用浪费系统开销,再作无必要的重复统计。然后将现在统计出来的结是加上数据库里的得出总的PV.
[/Quote]

可以,这是一个很好的思路。
回复
nationzhou 2010-08-09
[Quote=引用 1 楼 cunningboy 的回复:]
PHP code
$fp = fopen($filename, 'r'); // 只读操作,不会影响写入
$buf = fread($fp, $len); //每次指定固定长度的buffer来读取,而不是读取所有文件,占用内存少
do {
//这里做你的统计操作
} while($buf = fread($fp, $len));
fclose($fp);
[/Quote]
在下次访问实时统计程序时,可以从上次统计结束的位置开始统计吗?这样不用浪费系统开销,再作无必要的重复统计。然后将现在统计出来的结是加上数据库里的得出总的PV.
回复
无天 2010-08-09
LZ可以选择访问量比较少的时候做实时统计。
一般凌晨0点到3点,可以做统计,你可以写脚本来完成。
中午12点到1点可以做实时统计。
当然这要看你网站的实际情况了。
回复
CunningBoy 2010-08-09
$fp = fopen($filename, 'r'); // 只读操作,不会影响写入
$buf = fread($fp, $len); //每次指定固定长度的buffer来读取,而不是读取所有文件,占用内存少
do {
//这里做你的统计操作
} while($buf = fread($fp, $len));
fclose($fp);
回复
发动态
发帖子
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
社区公告
暂无公告