扫码关注官方订阅号
貌似没查到有直接获取文件行数的函数。
只能逐行计数么?
大文件直接 sys("wc -l 文件名") 是不是效率能高点
光阴似箭催人老,日月如移越少年。
小文件直接 $line = count(file('filename')); 大文件可以考虑用 SplFileObject 处理。
$line = count(file('filename'))
SplFileObject
逐行计数在行数比较多的时候会慢,比如用fgets默认读一行,每行都会产生函数呼叫开销。
可以用substr_count($str, "\n")数回车符的个数。
大文件的话,可以每次读1mb的片段,然后用substr_count数出行数,再把结果累加。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
小文件直接
$line = count(file('filename'))
;大文件可以考虑用
SplFileObject
处理。逐行计数在行数比较多的时候会慢,比如用fgets默认读一行,每行都会产生函数呼叫开销。
可以用substr_count($str, "\n")数回车符的个数。
大文件的话,可以每次读1mb的片段,然后用substr_count数出行数,再把结果累加。