@jacksonmihailov

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

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

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

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

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

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

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