Ottieni le ultime 50 righe dal file di text usando php

Ho un file di text come un file di registro, e voglio get le ultime 50 righe da quello.

Come posso farlo, in PHP?

Immagino che potresti usare anche "tail" se sei su Linux.

$handle = popen("tail -50l YOUR_FILE_HERE 2>&1", 'r'); while(!feof($handle)) { $buffer = fgets($handle); echo "$buffer<br/>\n"; ob_flush(); flush(); } pclose($handle); 

Ci sono alcuni commenti nei commenti per la function fseek .

 <? $data = file('yourfile.txt'); $lines = implode("\r\n",arrays_slice($data,count($data)-51,50)); ?> 

Semplice come questo

Penso che tu possa usare fopen per get il command, quindi usare filesize per get le size e fseek per andare a filesize-50. Poi è solo di 50 caratteri per get gli ultimi 50. Immagino che sia stato fatto prima se guardi il manuale sotto fseek.

Ecco la soluzione nell'inserimento manuale di fseek. Basta cambiare il -1 sulla row fseek a -50.