php超快高效率统计大文件行数
发布:smiling 来源: PHP粉丝网 添加日期:2021-06-08 10:52:58 浏览: 评论:0
用php获取文件行数,网上给出的答案通常是使用file这样一次性读取,这样不适用在大文件。通常大文件大家用while来循环的逐行统计,这样的效率太慢。
最快的方法是多行统计,每次读取N个字节,然后再统计行数,这样比逐行效率高多了。
测试情况,文件大小 3.14 GB
第1次:line: 13214810 , time:56.2779 s;
第2次:line: 13214810 , time:49.6678 s;
- /*
- * 高效率计算文件行数
- * @author axiang
- */
- function count_line($file){
- $fp=fopen($file, "r");
- $i=0;
- while(!feof($fp)) {
- //每次读取2M
- if($data=fread($fp,1024*1024*2)){
- //计算读取到的行数
- $num=substr_count($data,"\n");
- $i+=$num;
- }
- }
- fclose($fp);
- return $i;
- }
Tags: php统计大文件行数
- 上一篇:PHP获取文件夹大小函数用法实例
- 下一篇:php导出中文内容excel文件类实例
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)