Обработка файла по строкам или абзацам в обратном направлении
Задача
Необходимо осуществить некие действия над каждой строкой файла, начиная с конца. Например, нетрудно добавить новую запись гостевой книги в конец файла, открыв его в режиме добавления, но при показе требуется сначала отобразить самые последние записи, поэтому необходимо обрабатывать файл, начиная с конца.
Решение
Если файл помещается в памяти, то надо с помощью функции file() прочитать каждую строку файла в массив, а затем перевернуть этот массив:
$lines = file('guestbook.txt');
$lines = array_reverse($lines);
Обсуждение
Можно также выполнить цикл и по не перевернутому массиву строк, начиная с конца. Ниже показано, как напечатать последние 10 строк файла, начиная с последней строки:
$lines = file(’guestbook.txt’);
for ($i = 0, $j = count($lines); $i <= 10; $i++) {
print $lines[$j - $i];
}
Комментарии:
Нету комментариев для вывода...