1

PHPで大きなファイルの先頭を切り捨てたい。file_get_contents()メモリの制限により使用できません。

$nファイルから最初の文字を削除する最良の方法は何ですか?

2 番目のファイルを作成せずに実行できる場合は、その解決策をお勧めします。

更新ファイルが変更された後、他のスクリプトによって使用されます。

4

1 に答える 1

2

ファイル全体をバッファするのに十分なメモリがない場合は、ソリューションに関係なく、(少なくとも一時的に) 2 つのファイルを作成する必要があります。

fseek()ファイル内の特定のバイト位置に移動できる を調べてください。

// Open the file
$filename = 'somefile.dat';
$file = fopen($filename, 'r');

// Skip the first 1 KB
fseek($file, 1024);

// Your processing goes here...

// Close the file
fclose($file);

あなたの場合、元のファイルを読み取り用に、一時ファイルを書き込み用に同時に開くことができます。元のファイルを探します。元のファイルをループし、小さなチャンクを読み取って temp に書き込みます。次に、temp の名前を元の名前と同じ名前に変更します。

于 2013-02-03T14:51:35.403 に答える