PHP如何获取文件行数

WBOY
WBOYオリジナル
2016-06-06 20:44:361057ブラウズ

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

只能逐行计数么?

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

回复内容:

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

只能逐行计数么?

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

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

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

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

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。