0

PHPで非常に大きなテキストファイル(最大10GBのサイズ)を使用していますが、ファイル全体を毎回ディスクに読み書きすることなく、ファイルに小さな変更(行の削除や追加など)を行うにはどうすればよいですか?

つまり、ファイル全体を処理することなく、ファイルの小さな部分に直接変更を加えたいのです...

4

4 に答える 4

2

これを使用fopen()して、ファイルにリソースを作成できます。fseek()次に、読み取り/書き込みを行う場所でリソースを操作し、次にファイルのその部分に対して実行する操作をfgets()行いfputs()ます。

これは、データの変更と追加に対してのみ機能します。ファイルからデータを削除したい場合は、削除したい場所からファイル全体を書き直す必要があります。

于 2012-12-26T21:45:18.470 に答える
1

ファイルの長さを変更する必要がある場合は、変更した位置から最後までファイルの一部を書き換えるのを避ける方法はありません。

于 2012-12-26T21:47:50.690 に答える
1

テキストファイルを扱っている場合、ファイルの途中にある「行」は文字のストリームであるため、置き換えることはできません。1対1の文字置換を行う場合を除いて、ファイル全体を書き直す必要があります。

ただし、Perlや一部のUnixコマンドラインユーティリティなど、このタスクにはおそらくより優れたツールを使用できます。これらの大きなテキストファイルで実際に何をしようとしていますか?

于 2012-12-26T21:48:06.560 に答える
-4

この質問は少し曖昧です。通常、PHPでは、削除する部分をハイライトしてバックスペースキーを押すだけで、好きなように編集できます。通常、F3またはCTRL + Fを押して、編集する必要のあるビットを検索できます。また、10g?これが何をするのか興味があります。

于 2012-12-26T21:41:35.830 に答える