如何计算我的网页的唯一访问者,并且每天不使用数据库重新计算计数器?

时间:2015-12-24 18:11:47

标签: php

如何使用 php 计算唯一身份访问者到我的网页并每天(24小时)重新计算一次?

另外,我需要在文本文件中保存访问者数量。我不需要使用数据库。

这是我尝试及其示例代码获取用户ip和计数+1:

<?php

$ip = $_SERVER['REMOTE_ADDR'];
$count = file_get_contents("counter.txt");
$count = trim($count);
$count = $count + 1;
$fl = fopen("counter.txt","w+");
fwrite($fl,$count);
fclose($fl);

echo $ip;

?>

1 个答案:

答案 0 :(得分:1)

<?php

    $filename = date("Ymd") . "_counter.txt";
    $seenFilename = date("Ymd") . '_seen_ip.txt';

    $ips = array();
    if (file_exists($seenFilename))
    {
        $ips = file($seenFilename);
        $ips = array_map('trim', $ips);
    }

    if(!in_array($_SERVER['REMOTE_ADDR'], $ips))
    {
        $visits = 0;
        if (file_exists($filename)) {
            $visits = file_get_contents($filename);
        }


        file_put_contents($filename, ++$visits);
        $data = $_SERVER['REMOTE_ADDR'] . PHP_EOL;
        $fp = fopen($seenFilename, 'a');
        fwrite($fp, $data);
    }

?>

此代码每天都会创建一个新文件,并为每次唯一访问记录一个计数。