使用场景:
计数器用来统计一个网站被访问的次数,当用户访问一次计数器增加一次,但是无论如何刷新页面,计数器的值都不会再次增加,只有重新打开才会发生变化。
关键技术:
SESSION变量控制重复计数的的原理如下:在当前页面被访问时,初始化一个SESSION变量,判断SESSION变量的值是否为空,如果为空,则将计数器的值增加1,并且将SESSION变量赋值为1.此时,在当前页中SESSION变量的值已经不为空,无论如何刷新,其值都不会改变,计数器的值也不会增加。
关键代码:
1、在登录时设置一个变量在session中,将该计数值存入数据库或者文件中
2、在程序中(此代码以存入文件中为例)
session_start();
if($_SESSION['temp'] == ''){
if(($fp = fopen('count.txt','r')) == false){
echo "打开文件失败";
}else{
$counter = fgets($fp,1024);
$counter++;
$fp = fopen("count.txt",'w');
fputs($fp,$counter);
fclose($fp);
echo $counter;
}
$_SESSION['temp'] = 1;
}else{
$fp = fopen('count.txt','r');
$counter = fgets($fp,1024);
echo $counter;
}