【问题标题】:In PHP, how to add a line to a file without loading it?在 PHP 中,如何在不加载文件的情况下向文件添加一行?
【发布时间】:2011-06-03 03:46:05
【问题描述】:

我有几个超过 1GB 的非常大的文本文件,我经常需要使用 PHP 在文件的顶部/开头添加一行。

我知道怎么做,但就内存使用而言,最有效的方法是什么?

【问题讨论】:

标签: php file memory io ram


【解决方案1】:

您只能在底部有效地添加到文件中。如果您需要添加到顶部,您别无选择,只能重写整个文件。

在不将整个文件读入缓冲区的情况下执行此操作的方法是将数据分块移回,直到顶部有空闲空间。

【讨论】:

    【解决方案2】:

    另一种方法(如果您使用 *nix 平台)是使用 PHP 对 cat 和文件重定向进行系统调用,这在内存使用和性能方面比尝试操作文件头更有效使用 PHP。

    【讨论】:

      猜你喜欢
      • 2013-07-12
      • 2015-10-11
      • 2021-09-01
      • 1970-01-01
      • 2010-10-05
      • 2010-10-18
      • 2018-08-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多