貌似没查到有直接获取文件行数的函数。
只能逐行计数么?
大文件直接 sys("wc -l 文件名") 是不是效率能高点
貌似没查到有直接获取文件行数的函数。
只能逐行计数么?
大文件直接 sys("wc -l 文件名") 是不是效率能高点
小文件直接 $line = count(file('filename'))
;
大文件可以考虑用 SplFileObject
处理。
逐行计数在行数比较多的时候会慢,比如用fgets默认读一行,每行都会产生函数呼叫开销。
可以用substr_count($str, "\n")数回车符的个数。
大文件的话,可以每次读1mb的片段,然后用substr_count数出行数,再把结果累加。