Задать вопрос

Как дописать текст в начало файла?

Тривиальная задача, но ответ не очевиден.

Открываю или создаю в режиме Write с указателем в начале:

$this->errlog_object = new \SplFileObject($errlog_file, 'c');


Пишу:

$this->errlog_object->fwrite($str);

Строка затирает имеющиеся символы в начале файла.

Что делать? В голову приходят только какие-то костыли. Какое есть стандартное решение?
  • Вопрос задан
  • 717 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 2
mendler
@mendler
Senior Web Developer
Читаешь во временную переменную, дописываешь в начало строку, записываешь результат в файл.
Ответ написан
Дописать в начало файла без полного чтения файла невозможно - физически начало файла записывается в начало блока на диске и перед ним никак не записать, ибо начало блока - это начало файла. В конец же записать без проблем - зная длину файла можно начать данные дописывать в блок.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽