Ранее сегодня я задал вопрос о том, что я делаю неправильно, я получил эту работу, но теперь у меня возникает другая проблема с этим скриптом.
Код дал предупреждение(), которое исправлено сейчас. Вы можете прочитать сообщение здесь
Код автоматически пуст сам. Когда вы обновляете страницу, где скрипт является текстовым файлом, пуст. Я понятия не имею, почему... Это код
<?php
$fn = "file.txt";
$file = fopen($fn, "w+");
$size = filesize($fn);
if($_POST['addition']) fwrite($file, $_POST['addition']);
fclose($file);
?>
<form action="<?=$PHP_SELF?>" method="post">
<input type="text" name="addition" value="<?php echo file_get_contents('file.txt');?>"/>
<input type="submit"/>
</form>
Я использую этот скрипт для отображения видео на YouTube, поэтому я часто его обновлял. Вы можете найти рабочий пример скрипта с этой ссылкой: http://beta.martijnmelchers.nl/private/Test/test.php
Я не пробовал много, потому что я не мог найти решение для этого в Интернете, а также не в коде. Пожалуйста, помогите мне снова! Заранее спасибо!
Согласно руководству с w+
:
Открыт для чтения и записи; поместите указатель файла в начало файла и обрезайте файл до нулевой длины. Если файл не существует, попытайтесь его создать.
Похоже, что вы хотите заменить все содержимое при создании сообщения, поэтому самым простым решением является посылка всех запросов обработки файлов в состояние POST:
// To avoid warnings, this is better.
// You can add your original condition after it if you need it.
if ($_SERVER['REQUEST_METHOD'] === 'POST')
{
$file = fopen($fn, "w+");
// not sure why you need this...
// $size = filesize($fn);
fwrite($file, $_POST['addition']);
fclose($file);
}
if($_POST['addition'])
наif(!empnty($_POST['addition']))
этоif(!empnty($_POST['addition']))
вам?fopen
сw+
: открыто для чтения и записи; поместите указатель файла в начале файла и обрежьте файл до нулевой длины . Если файл не существует, попытайтесь создать его.