В PHP, как добавить строку в файл, не загружая его? - PullRequest
1 голос
/ 04 января 2011

У меня есть несколько очень больших текстовых файлов, которые весят более 1 ГБ, и мне постоянно нужно добавлять строку в начало / начало файла с помощью PHP.

Я знаю, как это сделать, но что этосамый эффективный способ сделать это с точки зрения использования памяти?

Ответы [ 2 ]

2 голосов
/ 04 января 2011

Вы можете только эффективно добавить в файл внизу.Если вам нужно добавить в начало, у вас нет другого выбора, кроме как переписать весь файл.

Способ сделать это без чтения всего файла в буфер - это переместить данные обратно порциями, пока вы не освободитепробел наверху.

1 голос
/ 04 января 2011

Другой подход (если вы используете платформу * nix) заключался бы в том, чтобы PHP выполнял системные вызовы cat и перенаправление файлов, что было бы гораздо более эффективным с точки зрения использования памяти и производительности, чем попытка манипулировать заголовком файла. с PHP.

...