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

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

Как в файе записать в определенную строку? Т.е. допусти 'привет' в файл hello.txt записать в пятую строку
  • Вопрос задан
  • 110 просмотров
Подписаться 2 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Stepik
    Язык программирования PHP
    1 неделя
    Далее
Решения вопроса 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() без делает именно это.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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