将字符串附加到特定位置的文件

时间:2014-04-24 14:36:50

标签: php splfileobject

说我们有这个文件test.txt:

{}

我们希望在{}之间添加文字。

我试过了:

$f = new SplFileObject($filepath, 'r+');
$f->fseek(1);
$f->fwrite('test');

但输出为{test,我还尝试了其他模式,例如w+(结果 - > test),a+(结果 - > {{1} }

编辑:忘了告诉我不想将文件的所有内容加载到内存中,这就是我使用{}test的原因

3 个答案:

答案 0 :(得分:1)

以字符串形式读取文件的全部内容,并在其中写入内容: Insert string at specified position

然后使用W+

保存文件

答案 1 :(得分:1)

将文件加载到内存中以进行此类转换 - 至少是文件的一部分。这就是记忆的用途。您可以读取一个文件并编写另一个文件,以避免将整个文件保留在内存中。

如有必要,请删除旧文件并将新文件重命名为旧文件。

答案 2 :(得分:0)

无法在文件中间插入内容。您要做的就是读取要写入的位置之后的所有数据,然后稍后再写回来。