- 主题:Re: 谁能帮我看看网页访问计数器的php代码有什么问题吗?
写入的时候flock一下就好了,没仔细看,应该是这块的问题
【 在 RythmOfWind (RythmOfWind) 的大作中提到: 】
: 计数器时不时的会归零,不知道是为什么,代码如下:
: <?php
: //数字输出网页计数器
: ...................
--
FROM 221.200.2.*
不行的。php每次执行是不同进程,那个变量并不会共享
【 在 RythmOfWind (RythmOfWind) 的大作中提到: 】
: 我有了一个新的想法,应该用一个变量来存储访问数,然后每隔100毫秒将这变量写入文件,这样高并发时就避免了频繁读取文件的操作。
: 修改文件的时间肯定是比修改变量的时间长很多,减少修改文件的操作次数就能极大的减少高并发时冲突的发生。
: 就是要注意一开始程序运行时要先从文件读取访问数。变量初始化时赋值-1,用于判断程序是不是刚开始运行。
: ...................
--
FROM 124.126.1.*
【 在 RythmOfWind 的大作中提到: 】
: 计数器时不时的会归零,不知道是为什么,代码如下:
: <?php
: //数字输出网页计数器
: ...................
<?php
$Hit_Counter_Filename="count.txt";
function hit_count()
{
global $Hit_Counter_Filename;
$hit = 0;
if(file_exists($Hit_Counter_Filename))
{
$hit=file_get_contents($Hit_Counter_Filename);
}
$hit++;
file_put_contents($Hit_Counter_Filename,$hit);
return $hit;
}
我这段代码也实现了计数器啊!
--
FROM 122.241.91.*