1

後で簡単に削除できるように、空のバイト、または有効な文字に対応しないバイトを書き込む必要があります。

私は大きなファイルを扱っていますが、ファイルから何かを削除するときに、代わりにテキストを空のバイトに置き換えてから、後で削除したいと考えています。これを実行してfseekから、fwritex 個の空のバイトをファイルに書き込むことができます。この方法では、毎回ファイル全体を書き直す必要はありません。問題は、有効な文字を使用してテキストを上書きした場合、最終的にファイルからすべての空白を削除したい場合、使用されているこの文字がファイルの一部なのか、それとも意図されているのかを知る方法がないことです。 「空き地」になります。「空の」データをファイルに書き込み、後でファイルのすべての空のデータを消去する方法はありますか?

4

1 に答える 1

2

null バイト ( \0) を使用します。これらは文字列ターミネータとしてよく使用されるため、結果のファイルの読み方によっては、最初の null バイトまでのテキストしか得られないので注意してください。ただし、PHP の文字列関数は null に対応しているため、これらの文字列を操作できます。

fwrite($h, "\0");

複数の null を書き込む必要がある場合:

fwrite($h, str_repeat("\0", $number));
于 2015-12-09T12:26:49.647 に答える