Ошибка, которая не должна быть там

Это мой первый вопрос, поэтому извините меня, если я что-то сделаю неправильно! Я стараюсь изо всех сил!

Так что я получил этот простой код

<?php $fn = "file.txt"; $file = fopen($fn, "w+"); $size = filesize($fn); if($_POST['addition']) fwrite($file, $_POST['addition']); $text = fread($file, $size); 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> <iframe width="420" height="315" src="//<?php echo file_get_contents('file.txt');?>" frameborder="0" allowfullscreen></iframe> 

Он отлично работает, только одна небольшая проблема …

проблема

Скрипт отлично работает, но проблема в том, что он выдает ошибку:

Предупреждение: fread () ожидает ровно 2 параметра, 1 указано в /home/u799303375/public_html/beta/private/Test/test.php в строке 8

Я не знаю, как это исправить

Что я уже пробовал

  1. Я попытался удалить размер $, не работал, он ожидает, что 2 строки получат 1.
  2. Пока ничего…

Помогите мне, если вам нужен рабочий пример, просто попросите не включать прямо сейчас!

По документации PHP, fopen ($ fn, "w +") устанавливает указатель файла в начало файла и обрезает файл до нулевой длины. Мое предположение заключается в том, что fread не принимает размер файла 0 (ноль) в качестве допустимого значения параметра.

Из вашего фрагмента кода похоже, что вы пытаетесь добавить этот файл. Возможно, вы захотите попробовать другой режим fopen, такой как «a +». Это откроет файл для чтения и записи, установите указатель в конце файла. Если файл не существует, он попытается его создать.

Если вы хотите прочитать все содержимое файла (что похоже на то, что вы пытаетесь сделать); документация fread рекомендует использовать команду file_get_contents (). После того, как вы напишете файл и закроете его, попробуйте выполнить следующую команду:

$ text = file_get_contents ($ fn);

Однако из вашего фрагмента кода это не похоже, что это действительно необходимо.

fread () ожидает ресурс и int

 string fread ( resource $handle , int $length ) 

Вы проверили свой параметр $ size? Это может быть ЛОЖЬ. Это может привести к ошибке.