用php计算网站访问者数量

时间:2018-01-21 05:25:54

标签: php

我使用基本脚本计算访问我网站的访问者:

<?php

if(!isset($_COOKIE['countedUser'])) {
    setcookie("countedUser", "0", time() + (86400 * 30));
    $countfile = fopen("counterfile.txt", "w+") or die("Unable to open file!");

    $new = intval(fgets($countfile)) + 1;

    fwrite($countfile, $new);
    fclose($countfile);
}

echo file_get_contents('counterfile.txt');

Counterfile包含数字0

这适用于从0到1,但在此之后它不起作用。

3 个答案:

答案 0 :(得分:0)

最可能的原因是fgets($countfile)始终返回NULL。 由于intval(NULL) = 0 因此,$new++永远不会超过1。

答案 1 :(得分:0)

当Cookie不存在时,您已1初始化并递增。但是,当它存在时你没有增加。

if(!isset($_COOKIE['countedUser'])) 
{
  //initialize cookie
}
else
{
// increment current value
}

我假设你会知道什么是

  

...从网站发送并存储在用户的 上的小块数据   用户浏览时用户的网络浏览器计算机。

答案 2 :(得分:0)

每次打开时都会截断counterfile.txt

  

w +:开放阅读和写作;将文件指针放在文件的开头,并将文件截断为零长度。如果该文件不存在,请尝试创建它。

Source: the php manual

请注意,您可能需要flock()手柄以防止竞争条件。 (LOCK_EX =独占锁定,LOCK_SH =共享锁定)