Php заменить строку в файле
Автор User задал вопрос в разделе Другие языки и технологии
Вопрос по PHP. как перезаписать файл в определенной строке (файл 1.txt) 1 2 3 4 заменить на 12345 5 и получил лучший ответ
Ответ от Roman G[гуру]
Это же файл.
Алгоритм получится такой:
Считываем файл
находим строку которую менять (по номеру или по содержимому)
меняем строку
очищаем файл
все новые данные записываем в этот же файл
---------
$filename = 'путь_к_файлу';
$PageBuffer=file($filename');
unlink($filename);
$PageBuffer['номер_строки'] = '12345';
$handle = fopen($filename, 'w')
fwrite($handle, $PageBuffer);
fclose($handle);
Есть вариант искать физическую позицию в файле.
Но если длина строки изменится вам всё равно придётся переносить все данные, которые после изменения, на новое место.
вот пример, если надо заменять именно четвёртую строку
dumpz . org/17764/