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

nationzhou 2010-08-09 09:01:33
1.做计划任务:零晨过后,把昨天的log文件一行一行的读出来分析,并做统计,然后将统计结果放进数据库。是否可取?
2.根据需要,有时要做实时做统计,实时做pv统计,也是一行一行的读吗?会不会影响当前*.log的更新?
3.方法1和2占用内存的情况怎样?
...全文
271 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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);

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧