php超快高效率统计大文件行数


Posted in PHP onJuly 05, 2015

用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;
}

以上所述就是本文的全部内容了,希望大家能够喜欢。

PHP 相关文章推荐
Win9x/ME下Apache+PHP安装配置
Oct 09 PHP
一个程序下载的管理程序(二)
Oct 09 PHP
php文章内容分页并生成相应的htm静态页面代码
Jun 07 PHP
php基础学习之变量的使用
Jun 09 PHP
php图像处理函数大全(推荐收藏)
Jul 11 PHP
PHP 如何利用phpexcel导入数据库
Aug 24 PHP
5种PHP创建数组的实例代码分享
Jan 17 PHP
图解找出PHP配置文件php.ini的路径的方法
Aug 20 PHP
PHP缓存集成库phpFastCache用法
Dec 15 PHP
浅谈php中include文件变量作用域
Jun 18 PHP
php实现按天数、星期、月份查询的搜索框
May 02 PHP
总结PHP代码规范、流程规范、git规范
Jun 18 PHP
PHP版QQ互联OAuth示例代码分享
Jul 05 #PHP
PHP 获取ip地址代码汇总
Jul 05 #PHP
PHP中$_SERVER使用说明
Jul 05 #PHP
php实现短信发送代码
Jul 05 #PHP
phpMyAdmin安装并配置允许空密码登录
Jul 04 #PHP
Ubuntu下安装PHP的mongodb扩展操作命令
Jul 04 #PHP
Cygwin中安装PHP方法步骤
Jul 04 #PHP
You might like
请php正则走开
2008/03/15 PHP
php命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法
2015/05/25 PHP
javascript同步Import,同步调用外部js的方法
2008/07/08 Javascript
JavaScript 联动的无限级封装类,数据采用非Ajax方式,随意添加联动
2010/06/29 Javascript
Javascript中innerHTML用法实例分析
2015/01/12 Javascript
AngularJS实现动态添加Option的方法
2017/05/17 Javascript
Ionic学习日记实现验证码倒计时
2018/02/08 Javascript
mac上配置Android环境变量的方法
2018/07/08 Javascript
vue项目在安卓低版本机显示空白的原因分析(两种)
2018/09/04 Javascript
layer弹出层自适应高度,垂直水平居中的实现
2019/09/16 Javascript
layui实现显示数据表格、搜索和修改功能示例
2020/06/03 Javascript
[53:23]Secret vs Liquid 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
[01:10]DOTA2英雄背景故事第四期之混沌法则混沌骑士
2020/07/16 DOTA
python发送HTTP请求的方法小结
2015/07/08 Python
Python获取linux主机ip的简单实现方法
2016/04/18 Python
Python实现抓取网页生成Excel文件的方法示例
2017/08/05 Python
Python机器学习logistic回归代码解析
2018/01/17 Python
Python中if elif else及缩进的使用简述
2018/05/31 Python
Python线程下使用锁的技巧分享
2018/09/13 Python
python 对字典按照value进行排序的方法
2019/05/09 Python
python basemap 画出经纬度并标定的实例
2019/07/09 Python
python根据文本生成词云图代码实例
2019/11/15 Python
基于Python的OCR实现示例
2020/04/03 Python
不到20行实现Python代码即可制作精美证件照
2020/04/24 Python
使用CSS3编写类似iOS中的复选框及带开关的按钮
2016/04/11 HTML / CSS
HTML5拍照和摄像机功能实战详解
2019/01/24 HTML / CSS
生日邀请函范文
2014/01/13 职场文书
运动会通讯稿50字
2014/01/30 职场文书
社区春季防火方案
2014/06/02 职场文书
小学运动会演讲稿
2014/08/25 职场文书
食品安全承诺书范文
2014/08/29 职场文书
css3实现背景图片半透明内容不透明的方法示例
2021/04/13 HTML / CSS
Python爬虫基础之爬虫的分类知识总结
2021/05/13 Python
matlab xlabel位置的设置方式
2021/05/21 Python
详解Laravel服务容器的优势
2021/05/29 PHP
MySQL存储过程及语法详解
2022/08/05 MySQL