Как сделать так, чтобы php не записывал строку в файл, если она уже есть?

Нужно сделать такой код, чтобы сравнивались строчки, и в случае совпадения строки с тем, что будет записываться, не сохранялась.
$name=$_POST['name'];
            $sms=$_POST['sms'];
            $stream=fopen('file.txt', 'a+');
            echo fread($stream, filesize('file.txt'));
            $write="<tr><td>".$name."</td><td>".$sms."</td><td>".date('d.m.y')."</td></tr>\n";
            fwrite($stream, $write);
  • Вопрос задан
  • 62 просмотра
Решения вопроса 1
@rPman
Прочитать, проверить наличие, при отсутствии записать.... только если у вас многопользовательский доступ (да банально пользователь F5 на страничке зажмет на долго) то можете получить кучу проблем, особенно если файл большой, так как хранение данных в файлах не контролирует доступ, не атомарные операции и т.п.

Пользуйтесь базами данных или хотя бы сами занимайтесь блокировками (те кто хранят данные в файлах создают пустой файл, наличие которого говорит о том что какой то процесс работает с базой и нужно ждать)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 18:38
1500 руб./в час
19 апр. 2024, в 18:36
1500 руб./за проект
19 апр. 2024, в 18:36
30000 руб./за проект