Это мой первый вопрос, поэтому извините меня, если я что-то сделаю неправильно! Я стараюсь изо всех сил!
Так что я получил этот простой код
<?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
Я не знаю, как это исправить
Помогите мне, если вам нужен рабочий пример, просто попросите не включать прямо сейчас!
По документации 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? Это может быть ЛОЖЬ. Это может привести к ошибке.