blackdarthvader
@blackdarthvader
Только учусь кодить ^_^

Как записать данных из формы в txt файл?

Здравствуйте.

Как правильно записать данные из формы в txt файл, чтобы при следующей записи содержимое файла удалялось и заменялось новыми данными из формы.

В данный момент текст просто добавляется к предыдущему тексту.

Сама форма
<form action="action.php" method="post">
                <textarea name="mes" cols="50" rows="5" class="lnews_data"></textarea>
                </p>
                <p>
                <label>
                <input type="submit" name="submit" id="submit" value="отправить">
                </label>
                </p>
                </form>


файл обработчик action.php

<?php
if ($_POST['']);
$file=fopen('mes.txt','a+');
fputs($file,$_POST['mes']);
fclose($file);
echo 'Успешно';
?>
  • Вопрос задан
  • 10301 просмотр
Решения вопроса 1
AlekseyNemiro
@AlekseyNemiro
full-stack developer
Использовать режим w:
$file = fopen('mes.txt', 'w+');

modeОписание
'r'Открывает файл только для чтения; помещает указатель в начало файла.
'r+'Открывает файл для чтения и записи; помещает указатель в начало файла.
'w'Открывает файл только для записи; помещает указатель в начало файла и обрезает файл до нулевой длины. Если файл не существует - пробует его создать.
'w+' Открывает файл для чтения и записи; помещает указатель в начало файла и обрезает файл до нулевой длины. Если файл не существует - пытается его создать.
'a' Открывает файл только для записи; помещает указатель в конец файла. Если файл не существует - пытается его создать.
'a+' Открывает файл для чтения и записи; помещает указатель в конец файла. Если файл не существует - пытается его создать.
'x' Создаёт и открывает только для записи; помещает указатель в начало файла. Если файл уже существует, вызов fopen() закончится неудачей, вернёт FALSE и выдаст ошибку уровня E_WARNING. Если файл не существует, попытается его создать. Это эквивалентно указанию флагов O_EXCL|O_CREAT для внутреннего системного вызова open(2).
'x+' Создаёт и открывает для чтения и записи; иначе имеет то же поведение что и'x'.
'c' Открывает файл только для записи. Если файл не существует, то он создается. Если же файл существует, то он не обрезается (в отличии от 'w'), и вызов к этой функции не вызывает ошибку (также как и в случае с 'x'). Указатель на файл будет установлен на начало файла. Это может быть полезно при желании заблокировать файл (смотри flock()) перед изменением, так как использование 'w' может обрезать файл еще до того как была получена блокировка (если вы желаете обрезать файл, можно использовать функцию ftruncate() после запроса на блокировку).
'c+'Открывает файл для чтения и записи; иначе имеет то же поведение, что и 'c'.

php.net/manual/ru/function.fopen.php
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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