Я пытаюсь сделать уникальный счетчик посещений с помощью PHP на основе IP-адреса пользователя.
Это моя попытка:
$ip_address = $_SERVER["REMOTE_ADDR"];
function hit_count(){
$ip_file = file('ip.txt');
foreach($ip_file as $ip){
$ip_single = trim($ip);
if($ip_address == $ip_single){
$found = true;
break;
}else{
$found = false;
}
}
if($found == false){
$filename = "count.txt";
$handle = fopen($filename,"r");
$current = fread($handle,filesize($filename));
fclose($handle);
$current_inc = $current + 1;
$handle = fopen($filename,"w");
fwrite($handle,$current_inc);
fclose($handle);
$handle = fopen("ip.txt","a");
fwrite($handle,$ip_address."\n");
fclose($handle);
}
}
Как вы можете видеть, он в значительной степени берет IP-адрес пользователя и затем вызывает текстовый документ ip.txt
. Таким образом, если сравнение IP-адреса пользователя не было сопоставлено с IP-адресом, который хранится в этом текстовом документе, он вернет false .
И после этого он открывает count.txt
для подсчета попаданий. В конце концов, он также добавит IP-адрес к ip.txt
.
Но теперь проблема с этим кодом в том, что он не делает то, что должен делать. Я имею в виду, что оба текстовых файла пусты даже после выполнения.
И никаких ошибок также не появляется, потому что коды написаны правильно.
Итак, мой вопрос: что не так с этим кодом, и как я могу это исправить?
Заранее спасибо.