@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() без делает именно это.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы