Задать вопрос

Как сделать так, чтобы 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);
  • Вопрос задан
  • 64 просмотра
Подписаться 2 Простой Комментировать
Решения вопроса 1
@rPman
Прочитать, проверить наличие, при отсутствии записать.... только если у вас многопользовательский доступ (да банально пользователь F5 на страничке зажмет на долго) то можете получить кучу проблем, особенно если файл большой, так как хранение данных в файлах не контролирует доступ, не атомарные операции и т.п.

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

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

Похожие вопросы