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 — Se déplace sur une ligne spécifique
$line_pos
): voidSe déplace sur une ligne spécifique du fichier.
line_pos
Le numéro de la ligne (en commençant par 0) sur laquelle on se déplace.
Aucune valeur n'est retournée.
Lance une exception LogicException si
line_pos
est négatif.
Exemple #1 Exemple avec SplFileObject::seek()
Cet exemple affiche la 3ème ligne du script, qui sera trouvée à la position n°2.
<?php
$file = new SplFileObject(__FILE__);
$file->seek(2);
echo $file->current();
?>
Résultat de l'exemple ci-dessus est similaire à :
$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;