В файле
$file = "db/list";
нужно найти строку
$_POST['walletnumber'] = trim($_POST['walletnumber']);
и если такая строка не найдена, то добавить новую. Вот код:
// читаем содержимое файла
$lines = file($file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
// запоминаем сколько строк в файле было изначально
$countLines = count($lines);
// проверяем каждую строку
foreach ($lines as $key => $line) {
// если нет такой строки ($_POST['walletnumber']) в файле, то добавляем новую
if (!strstr($line, $_POST['walletnumber'])) {
$rec = "$_POST[walletnumber]\r\n";
file_put_contents($file, $rec, FILE_APPEND | LOCK_EX);
}
}
// записываем обновленный массив обратно
if ($countLines !== count($lines)) {
file_put_contents($file, implode(PHP_EOL, $lines) . "\n");
}
В итоге у меня получается так, что:
- если файл пустой, то совсем ничего не добавляется;
- если файл не пустой, то строка добавляется в любом случае, если даже такая строка в файле уже существует;
Пожалуйста, поправьте меня, что я делаю не так?