Heim  >  Artikel  >  Backend-Entwicklung  >  PHP liest eine bestimmte Datenzeile aus einer großen Textdatei TEXT

PHP liest eine bestimmte Datenzeile aus einer großen Textdatei TEXT

高洛峰
高洛峰Original
2016-11-28 16:43:211712Durchsuche

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

Die Effizienz dieser Methode muss noch getestet werden

In einer Apache-Protokolldatei (450 MB)

Zeile 20 wird sehr schnell gelesen 0,001039981842041

Lesen Das Abrufen der 200. Zeile 0,0033199787139893

Das Lesen der 200. Zeile dauert etwa 0,30908799171448 Sekunden

Das Lesen der 200. Zeile 2,5622429847717 Sekunden hat den Punkt des Unerträglichen erreicht


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn