簡體   English   中英

將字符串追加到文件中的特定位置

[英]Append string to a file at certain position

說我們有這個文件test.txt:

{}

我們想在{}之間添加文本。

我嘗試了這個:

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

但是輸出是{test ,我也嘗試了其他模式,例如w+ (result-> test ), a+ (result-> {}test

編輯:忘了告訴我我不想將文件的所有內容加載到內存中,這就是為什么我使用SplFileObject

以字符串形式讀取文件的全部內容,並在其中寫入內容: 在指定位置插入字符串

然后使用W+保存文件

必須將文件加載到內存中才能進行這種轉換-至少是文件的一部分。 那就是記憶的目的。 您可以讀取一個文件,然后進行修改后再寫入另一個文件,以避免將整個文件保留在內存中。

如有必要,請刪除舊文件,然后將新文件重命名為舊文件。

無法在文件中間插入內容。 您所能做的就是在要寫入的位置之后讀取所有數據,然后再寫回去。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM