как остановить повторяющиеся значения от записи в текстовый файл с помощью переполнения стека

У меня есть скрипт, который продолжает перезагружаться каждые 2 секунды, я сделал код для создания TXT-файла для каждого IP-адреса пользователя и написать имя пользователя $name внутри него. моя проблема в том, что каждый раз, когда мой скрипт перезагружается, он будет писать $name конкретного IP снова с каждой перезагрузкой.
код

 $ip_file = "ips/".$ip.".txt";

$logip = fopen($ip_file,"a", 1);

$name = $name."\n";

fwrite($logip, $name);

fclose($logip);

return;

мне нужен какой-то способ проверить, есть ли имя в $ip_file и если это там, то не писать это снова.

Идея заключается в том, чтобы проверить, используется ли один и тот же IP более чем одним $name а затем создать функцию, чтобы проверить все $ip_file файлы для более чем 1 $name и если так, запретить нарушение $ip

заранее спасибо

2

Решение

$ip_file = "ips/".$ip.".txt";
$names = file_get_contents($ip_file); //read names into string
if(false === strpos($names,$name)) { //write name if it's not there already
file_put_contents($ip_file,"$name\n",FILE_APPEND);
}
3

Другие решения

Это то, что тебе надо?

<?php
$ip_file = "ips/".$ip.".txt";
$name = $name."\n";

if (file_exists($ip_file)) {

$valueInFile = file_get_contents($ip_file, true);

if ($valueInFile == $name) {
//Do something
}
} else {
$logip = fopen($ip_file,"a", 1);
fwrite($logip, $name);
fclose($logip);
}
return;
?>

От:
http://php.net/manual/en/function.file-exists.php

1

По вопросам рекламы [email protected]