A sleek way of counting the number of lines in a file can be like below
$file = new \SplFileObject('file.extension', 'r');
$file->seek(PHP_INT_MAX);
echo $file->key() + 1;
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
SplFileObject::seek — Перевод файлового указателя на заданную строку
$line
): voidПереводит файловый указатель на заданную строку.
line
Номер строки, начиная с 0, на которую требуется перейти.
Функция не возвращает значения после выполнения.
Выбрасывает исключение LogicException, если аргумент
line
принимает отрицательное значение.
Пример #1 Пример использования SplFileObject::seek()
Этот пример выводит третью строку скрипта, находящуюся на 2-й позиции.
<?php
$file = new SplFileObject(__FILE__);
$file->seek(2);
echo $file->current();
?>
Результатом выполнения данного примера будет что-то подобное:
$file->seek(2);
A sleek way of counting the number of lines in a file can be like below
$file = new \SplFileObject('file.extension', 'r');
$file->seek(PHP_INT_MAX);
echo $file->key() + 1;