1

このファイル test.txt があるとします:

{}

{と の間にテキストを追加します}

私はこれを試しました:

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

しかし、出力は です{testw+(result-> test)、a+(result->{}test

編集:ファイルのすべての内容をメモリにロードしたくないことを忘れていたので、使用していますSplFileObject

4

3 に答える 3

1

この種の変換を行うには、ファイル (少なくともファイルの一部) をメモリに読み込む必要があります。そのための記憶です。ファイル全体をメモリに保持しないように、1 つのファイルを読み取り、変更を加えて別のファイルを書き込むことができます。

必要に応じて、古いファイルを削除し、新しいファイルの名前を古いファイルに変更します。

于 2014-04-24T15:07:57.520 に答える
0

ファイルの途中に何かを挿入することはできません。書きたい位置以降のデータを全部読み込んで、後で書き戻すしかない。

于 2014-04-24T14:51:46.520 に答える