Heim  >  Artikel  >  Backend-Entwicklung  >  PHP ruft die letzten N Datenzeilen aus der Datei ab

PHP ruft die letzten N Datenzeilen aus der Datei ab

不言
不言Original
2018-04-04 10:01:461809Durchsuche

Der in diesem Artikel vorgestellte Inhalt besteht aus den letzten N Datenzeilen, die PHP aus der Datei erhalten hat. Jetzt teile ich ihn mit allen und kann auch Freunden in Not einen Verweis geben

GitHub-Quellcode
Der Code basiert auf den folgenden Problemen, Lösung angegeben:
Verwenden Sie PHP, um eine Funktion zu schreiben, um die letzten $n Zeilen einer Textdatei abzurufen. Sie muss so effizient wie möglich sein und plattformübergreifend verwendet werden können.

Ich verstehe, dass sie plattformübergreifend verwendet werden kann. Dies bedeutet, dass die Datei auf der Windows-Plattform verwendet werden kann und auf der Linux-Plattform ein Problem mit inkonsistenten Zeilenabschlüssen vorliegt. Wir haben diesen Unterschied im Code nicht berücksichtigt. Alle sind Codes unter dem Linux-System. Müssen Sie noch plattformübergreifende Probleme verstehen?

<?phpheader("content-type:text/html;charset=utf-8");class GetFileLastNumRow{
    private $filePath;    private $fileMode = &#39;r&#39;;    private $rowNum = 3;    public function __construct(array $config)
    {
        foreach ($config as $key => $value) {            $this->$key = $value;
        }
    }    public function run()
    {
        try {            $handle = fopen($this->filePath, $this->fileMode);
            fseek($handle, -1, SEEK_END);            $contents = "";            $rowCount = 0;            do {                if (($str = fgetc($handle)) == "\n") {                    $rowCount++;
                }                $contents = $str.$contents;
                fseek($handle, -2, SEEK_CUR);
            } while ($rowCount < $this->rowNum);
            var_export(trim($contents, "\n"));
            fclose($handle);
        } catch(\Exception $e) {
            var_export($e->getMessage());
        }
    }
}class Test{
    public function run()
    {
        $filePath = &#39;./TestData/GetFileLastNumRow/test.data&#39;;        $getFileLastNumRow = new GetFileLastNumRow(compact(&#39;filePath&#39;));        $getFileLastNumRow->run();
    }
}$test = new Test();$test->run();

Verwandte Empfehlungen:

PHP-Methode zum Abrufen einer bestimmten Spalte in einem Array

PHP erhält Benutzer-IP-Adressmethode

Das obige ist der detaillierte Inhalt vonPHP ruft die letzten N Datenzeilen aus der Datei ab. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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