如何使用 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;
?>
答案 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);
}
?>
此代码每天都会创建一个新文件,并为每次唯一访问记录一个计数。