ホームページ  >  記事  >  バックエンド開発  >  PHPは大きなファイルテキストTEXTから特定のデータ行を読み取ります

PHPは大きなファイルテキストTEXTから特定のデータ行を読み取ります

高洛峰
高洛峰オリジナル
2016-11-28 16:43:211671ブラウズ

function get_line($file,$line) {
    $fp = fopen($file,'r');
    $i = 0;
    while(!feof($fp)) {
        $i++;
        $c = fgets($fp);
        if($i==$line) {
            echo $c;
            break;
        }
    }
}

この方法の効率はまだテストする必要があります

Apacheログファイル(450M)では

20行目の読み取りは非常に高速です0.001039981842041

200行目の読み取り0.0033199787139893

かかります20,000 行目を読み取るには 0.30908 799171448秒 約

20万行目の読み取り2.5622429847717秒は耐えられないレベルに達しました


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。