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

Как (php) редактировать определенную строку в файле?

Доброе время суток.
Допустим файл может содержать до 2000 строк (каждая строка это serialize(Объект класса) разного размера;).
Раньше хранил это дело в виде массива и доставал его через json_decode(file_get_contents(file)); находил необходимую запись, производил изменения и весь массив писал обратно в файл.
Вопрос заключается в том, каким образом лучше всего менять и добавлять строки в этот файл? Какой метод будет быстрее всего открывать, производить изменения и сохранять файл?
  • Вопрос задан
  • 230 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
Stalker_RED
@Stalker_RED
Небольшой файл можно переписывать целиком.

С большим файлом все сложнее - если длина строки не меняется, то можно переписывать отдельные участки при помощи fopen, fseek, fputs.
Если новая строка короче- можете добавить пробелов в конец строки.
Если увеличивается - придется переписать всё, что идет после измененной строки.

Можете попробовать вызывать sed, вполне возможно что он будет очень быстр.

Но если планируется и дальнейший рост этого файла, то самым правильным решением будет переход на базу даных.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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