1

非常に大きなテキスト ファイルがいくつかあります。それぞれ 100 MB で、1 行の文字列 (1 行のみ) を含んでいます。それぞれから最後の xx バイト/文字を抽出したい。文字列でそれらを読み取ってから strpos() または substr() で検索することでこれを行う方法を知っていますが、そのような小さなアクションには望ましくないRAMの大きなチャンクが必要になります。

検索を実行する前に、PHPでテキストファイルの最後の50バイト/文字を抽出できる他の方法はありますか?

ありがとうございました!

4

2 に答える 2

6

fseekを使用できます:

$fp = fopen('somefile.txt', 'r');
fseek($fp, -50, SEEK_END); // It needs to be negative
$data = fgets($fp, 50);
于 2013-04-21T10:01:22.997 に答える