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

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

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

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

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