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 相关文章推荐
php中的时间处理
Oct 09 PHP
默默小谈PHP&MYSQL分页原理及实现
Jan 02 PHP
从MySQL数据库表中取出随机数据的代码
Sep 05 PHP
php在线代理转向代码
May 05 PHP
php curl的深入解析
Jun 02 PHP
深入Nginx + PHP 缓存详解
Jul 11 PHP
基于ThinkPHP实现批量删除
Dec 18 PHP
浅谈PHP中的
Apr 23 PHP
php异步:在php中使用fsockopen curl实现类似异步处理的功能方法
Dec 10 PHP
PHP实现非阻塞模式的方法分析
Jul 26 PHP
PHP实现的AES加密、解密封装类与用法示例
Aug 02 PHP
PHP微信网页授权的配置文件操作分析
May 29 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 日常开发小技巧
2009/09/23 PHP
php选择排序法实现数组排序实例分析
2015/02/16 PHP
你应该知道PHP浮点数知识
2015/05/13 PHP
[原创]php正则删除img标签的方法示例
2017/05/27 PHP
PHP自定义序列化接口Serializable用法分析
2017/12/29 PHP
PHP过滤器 filter_has_var() 函数用法实例分析
2020/04/23 PHP
fromCharCode和charCodeAt 方法
2006/12/27 Javascript
javascript 写类方式之三
2009/07/05 Javascript
需要做特殊处理的DOM元素属性的访问
2010/11/05 Javascript
基于jQuery实现简单的折叠菜单效果
2015/11/23 Javascript
利用jquery制作滚动到指定位置触发动画
2016/03/26 Javascript
jQuery加载及解析XML文件的方法实例分析
2017/01/22 Javascript
JS中静态页面实现微信分享功能
2017/02/06 Javascript
使用ES6语法重构React代码详解
2017/05/09 Javascript
详解vue-cli脚手架中webpack配置方法
2018/08/22 Javascript
layer.open弹层查看缩略图的原图,自适应大小的实例
2019/09/05 Javascript
JS中的模糊查询功能
2019/12/08 Javascript
15分钟上手vue3.0(小结)
2020/05/20 Javascript
[28:57]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/16 DOTA
跟老齐学Python之有容乃大的list(1)
2014/09/14 Python
python操作MySQL 模拟简单银行转账操作
2017/09/27 Python
python MultipartEncoder传输zip文件实例
2020/04/07 Python
详解numpy.ndarray.reshape()函数的参数问题
2020/10/13 Python
通过css3的filter滤镜改变png图片的颜色的示例代码
2020/05/06 HTML / CSS
德国网上药房:Apotal
2017/04/04 全球购物
线程问题:wait()方法是定义在哪个类里面
2015/07/07 面试题
家长会学生家长演讲稿
2013/12/29 职场文书
经典演讲稿范文
2013/12/30 职场文书
网上开店必备创业计划书
2014/01/26 职场文书
《争吵》教学反思
2014/02/15 职场文书
低碳环保标语
2014/06/12 职场文书
争先创优活动总结
2014/08/27 职场文书
通知书大全
2015/04/27 职场文书
亮剑观后感300字
2015/06/05 职场文书
悬崖上的金鱼姬观后感
2015/06/15 职场文书
中学生打架《检讨书》范文
2019/08/12 职场文书