Получите последние 50 строк из текстового файла, используя php

У меня есть текстовый файл, такой как файл журнала, и я хочу получить последние 50 строк.

Как я могу это сделать, в PHP?

Я думаю, вы также можете использовать «хвост», если вы используете 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); 

В комментариях для функции fseek есть некоторые решения .

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

Так просто, как это

Я думаю, вы можете использовать fopen для получения дескриптора, а затем использовать файлize, чтобы получить размер и fseek, чтобы перейти к файловому размеру-50. Тогда это всего лишь пятерка из 50 персонажей, чтобы получить последние 50. Я предполагаю, что это было сделано раньше, если вы посмотрите на руководство под fseek.

Вот решение в руководстве пользователя fseek. Просто измените -1 на строку fseek на -50.