【发布时间】:2014-09-23 16:19:00
【问题描述】:
<?php
$countfile = 'counter.txt';
$ipfile = 'ip.txt';
function countint(){
$ip = $_SERVER['REMOTE_ADDR'];
global $countfile , $ipfile;
if (!in_array($ip, file($ipfile, FILE_IGNORE_NEW_LINES))) {
$current = (file_exists($countfile)) ? file_get_contents($countfile) : 0;
file_put_contents($ipfile, $ip."\n", FILE_APPEND);
file_put_contents($countfile, ++$current);
}
}
countint();
$value =file_get_contents($countfile);
?>
这是 count.php 函数以及两个文件 ip.txt 和 counter.txt
计数没有超过 2 次点击
两次点击后停止记录IP地址
【问题讨论】:
-
我正在响应页面上的 $value。
-
我看不出脚本有什么问题.. 有没有想过脚本没有获得超过 2 个唯一 IP 地址...?也许脚本位于覆盖 REMOTE_ADDR 的代理、负载平衡器、缓存层后面?
-
将
!in_array更改为in_array,您会看到它会增加。当然是在数据已经存在之后。 -
所以,您需要一个独特的计数器。我不明白你为什么要继续计数。该脚本完全按照它应该做的那样做。你到底想达到什么目标?
-
从第三台设备打开站点后,计数器($value)仍然保持在2;
标签: php unique ip-address counter pageviews