首页 > PHP如何获取文件行数

PHP如何获取文件行数

貌似没查到有直接获取文件行数的函数。

只能逐行计数么?

大文件直接 sys("wc -l 文件名") 是不是效率能高点


逐行计数在行数比较多的时候会慢,比如用fgets默认读一行,每行都会产生函数呼叫开销。

可以用substr_count($str, "\n")数回车符的个数。

大文件的话,可以每次读1mb的片段,然后用substr_count数出行数,再把结果累加。


小文件直接 $line = count(file('filename'));
大文件可以考虑用 SplFileObject 处理。

【热门文章】
【热门文章】