Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770 Форумы портала PHP.SU :: Версия для печати :: Работа с текстом в файле.
Теперь понятно, думал заменить это и есть сразу записать.
А надо:
Открыть, прочитать, заменить, записать и закрыть. (Добавление)
Другая ошибка появилась.
Текст в файле "5555"
Перезаписаться должны 2 символа с конца, должно получится "557777"
Как выводит var_dump($a) <pre>string(6) "557777"
Но в файле получается "5555557777"
Потому что курсор.
r+ открывает файл в позиции 0.
fgets что-то читает и смещает курсор на конец прочтённого куска.
Дальше вы никак курсор не передвигаете.
fwrite пишет начиная с позиции курсора. Вот и получился append вместо перезаписи.
Вероятно, вам нужен ftruncate.
Ну или просто file_get_contents + file_put_contents