リロードでは増えないアクセスカウンタ

前回と今回のIPアドレスをチェックして、同じ場合は増加しない
アクセスカウンター。このサンプルでは、IPアドレスはip_memory.txt
カウンターの数字はip_counter.txtに記憶させている。ソース参照。

前回のアクセス時のIPアドレスは
今回のアクセス時のIPアドレスは38.107.179.212
759
source

<?php
$IP = getenv("REMOTE_ADDR");
$ip_fname = "ip_memory.txt";
$ip_fp = fopen($ip_fname,"r");	//まずは読込のみでオープン
$ip_value = fgets($ip_fp,256);
fclose($ip_fp);
$ip_fp = fopen($ip_fname,"w");
flock($ip_fp,2);	//ロックする
fwrite($ip_fp,$IP);
flock($ip_fp,3);	//ロック解除
fclose($ip_fp);
//ここまでで、$ip_valueには前回、
//$IPには今回のIPアドレスが入った

print "前回のアクセス時のIPアドレスは" . $ip_value."<br>";
print "今回のアクセス時のIPアドレスは" . $IP."<br>";

$count_file = "ip_counter.txt";
$count_fp = fopen($count_file,"r");
$count_value = fgets($count_fp,256);
fclose($count_fp);

if($ip_value != $IP)	{

	$count_fp = fopen($count_file,"w");
	flock($count_fp,2);
	$count_value += 1;
	fwrite($count_fp,$count_value);
	flock($count_fp,3);
	fclose($count_fp);
}
print $count_value;
?>