@OwerFan

Как записать в строку?

Как в файе записать в определенную строку? Т.е. допусти 'привет' в файл hello.txt записать в пятую строку
  • Вопрос задан
  • 106 просмотров
Решения вопроса 2
usdglander
@usdglander Куратор тега PHP
Yipee-ki-yay
Если в файле УЖЕ есть 5-я строка, то заменить можно так
$file = $file('hello.txt');
$file[4] = 'Привет';
file_put_contents('hello.txt', implode("\n", $file));


Если нет, то можете сами додуматься, если разберёте пример.
Ответ написан
FanatPHP
@FanatPHP
Чебуратор тега РНР
Не переписывать же все время файл. Конечно, для таких целей используют БД, но ради интереса, хотелось бы узнать возможно ли такое. Найти эту строку изменить и поставить в туже строку, не затрагивая все остальные записи, намного быстрее чем переписывать весь файл


Для большинства осмысленных размеров файлов (до мегабайта, скажем), разница не будет заметна.

Но главная проблема здесь в том, что с точки зрения файла такое поняние как "строка" в принципе не существует.
Не затрагивая остальной файл можно переписать только эквивалентное количество байт. Если вы знаете, с какой позиции они начинаются.
Если такой вариант вас устроит, то fwrite() без делает именно это.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы