如何在php的文件开头写入数据?

时间:2012-09-04 16:54:54

标签: php append file-pointer

  

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

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

- >以追加模式打开文件。
- >将整个数据复制到变量中。
- >用temp变量连接数据。
- >重写整个文件。

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

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

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

我需要一些优化的方式,它可以为我工作。

2 个答案:

答案 0 :(得分:2)

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

  1. 打开新文件,写入新数据,然后将旧文件追加到新文件
  2. 打开原始文件,将旧数据“向下”复制到文件中,然后覆盖文件的开头。
  3. 您是否需要在文件开头记录内容?只读取文件的最后部分是微不足道的。

答案 1 :(得分:0)

如果文件不是巨大的,而且你有足够的内存用于PHP ..这里有一个快速的PHP来帮助你:

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