说我们有这个文件test.txt:
{}
我们希望在{
和}
之间添加文字。
我试过了:
$f = new SplFileObject($filepath, 'r+');
$f->fseek(1);
$f->fwrite('test');
但输出为{test
,我还尝试了其他模式,例如w+
(结果 - > test
),a+
(结果 - > {{1} }
{}test
的原因
答案 0 :(得分:1)
以字符串形式读取文件的全部内容,并在其中写入内容: Insert string at specified position
然后使用W+
答案 1 :(得分:1)
将文件加载到内存中以进行此类转换 - 至少是文件的一部分。这就是记忆的用途。您可以读取一个文件并编写另一个文件,以避免将整个文件保留在内存中。
如有必要,请删除旧文件并将新文件重命名为旧文件。
答案 2 :(得分:0)
无法在文件中间插入内容。您要做的就是读取要写入的位置之后的所有数据,然后稍后再写回来。