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 — Seek to specified line
$line_pos
) : voidSeek to specified line in the file.
line_pos
The zero-based line number to seek to.
没有返回值。
Throws a LogicException if the
line_pos
is negative.
Example #1 SplFileObject::seek() example
This example outputs the third line of the script which is found at position 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;