【问题标题】:How to write data at beginning of file in php? [duplicate]如何在php中的文件开头写入数据? [复制]
【发布时间】:2012-08-29 09:11:08
【问题描述】:

可能重复:
Need to write at beginning of file with PHP

我正在尝试制作一个日志文件。但我想在文件开头插入数据。我已经阅读了许多解决方案,但其中许多都给出了以下解决方案。

-> 以追加模式打开文件。
-> 将整个数据复制到一个变量中。
-> 将数据与临时变量连接起来。
-> 重写整个文件。

我已经访问并阅读了以下链接。 Need to write at beginning of file with PHP

如果我的日志文件大约 50 到 85 MB,我认为这个过程很耗时。

有没有什么我可以在文件开头移动文件指针然后插入数据保存该文件?

我需要一些可以为我工作的优化方法。

【问题讨论】:

    标签: php append file-pointer


    【解决方案1】:

    不,您不能在文件开头粘贴新数据。您的选择是:

    1. 打开新文件,写入新数据,然后将旧文件追加到新文件中
    2. 打开原始文件,将旧数据“向下”复制到文件中,然后覆盖文件的开头。

    您有什么理由需要在文件开头记录内容?只读取文件的最后一部分很简单。

    【讨论】:

      【解决方案2】:

      如果文件不是很大,而且你有足够的内存供 PHP.. 在这里,一个快速的 PHP 可以帮助你:

      $toAdd = 'Text to add in beginning';
      $file = '/path/to/your/file';
      $temp = file_get_contents($file);
      file_put_contents($file, $toAdd . $temp);
      

      【讨论】:

      • 使用内存中的温度。不适合大数据。
      • 编辑了我的答案。我只是想让提问者的生活更轻松?
      猜你喜欢
      • 1970-01-01
      • 2013-01-20
      • 1970-01-01
      • 1970-01-01
      • 2018-01-04
      • 1970-01-01
      • 1970-01-01
      • 2018-11-30
      • 1970-01-01
      相关资源
      最近更新 更多