これは何年もの間私を悩ませてきましたが、私はそれを理解することができません。
基本的に、ファイルに一意のIPアドレスを格納するヒットカウンターを使用しています。しかし、私がやろうとしているのは、各IPアドレスが何回ヒットしたかをカウントすることです。
したがって、ファイルを読み取る代わりに:
222.111.111.111
222.111.111.112
222.111.111.113
読んでもらいたい:
222.111.111.111 - 5
222.111.111.112 - 9
222.111.111.113 - 41
これは私が使用しているコードです:
$file = "stats.php";
$ip_list = file($file);
$visitors = count($ip_list);
if (!in_array($_SERVER['REMOTE_ADDR'] . "\n", $ip_list))
{
$fp = fopen($file,"a");
fwrite($fp, $_SERVER['REMOTE_ADDR'] . "\n");
fclose($fp);
$visitors++;
}
私がやろうとしていたことは、それを次のように変更することです。
if (!in_array($_SERVER['REMOTE_ADDR'] . " - [ANY NUMBER] \n", $ip_list))
{
$fp = fopen($file,"a");
fwrite($fp, $_SERVER['REMOTE_ADDR'] . " - 1 \n");
fclose($fp);
$visitors++;
}
else if (in_array($_SERVER['REMOTE_ADDR'] . " - [ANY NUMBER] \n", $ip_list))
{
CHANGE [ANY NUMBER] TO [ANY NUMBER]+1
}
最後に追加された部分を理解できると思いますが[ANY NUMBER]
、次の番号が何であれ、IPを見つけるように部分を表すにはどうすればよいですか?
私はおそらくこれについてすべて間違っていると思いますが、誰かが私に手がかりを与えることができれば、私はそれを本当に感謝します。
ありがとう。