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 — Mueve el apuntador interno a la línea específicada
$line
): voidMueve el apuntador interno a la línea específicada en el fichero.
line
El número base cero a mover el apuntador interno.
No devuelve ningún valor.
Lanza una LogicException si el parámetro
line_pos
es negativo.
Ejemplo #1 Ejemplo de SplFileObject::seek()
Este ejemplo imprime la tercera línea de el script que se encuentra en la posición 2.
<?php
$file = new SplFileObject(__FILE__);
$file->seek(2);
echo $file->current();
?>
El resultado del ejemplo sería algo similar a:
$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;