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 相关文章推荐
打造计数器DIY三步曲(下)
Oct 09 PHP
php xml实例 留言本
Mar 20 PHP
PHP加速 eAccelerator配置和使用指南
Jun 05 PHP
PHP中将网页导出为Word文档的代码
May 25 PHP
PHP执行批量mysql语句的解决方法
May 02 PHP
解析PHP工厂模式的好处
Jun 18 PHP
单点登录 Ucenter示例分析
Oct 29 PHP
php 伪静态之IIS篇
Jun 02 PHP
Yii2创建控制器(createController)方法详解
Jul 23 PHP
php微信开发之百度天气预报
Nov 18 PHP
php实现websocket实时消息推送
Mar 30 PHP
PHP7.1实现的AES与RSA加密操作示例
Jun 15 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_Flame(Version:Progress)的原代码
2006/10/09 PHP
JpGraph php柱状图使用介绍
2011/08/23 PHP
PHP的5个安全措施小结
2012/07/17 PHP
PHP的一个完美GIF等比缩放类,附带去除缩放黑背景
2014/04/01 PHP
PHP编程入门的基本语法知识点总结
2016/01/26 PHP
PHP模拟post提交数据方法汇总
2016/02/16 PHP
PHP5.0 TIDY_PARSE_FILE缓冲区溢出漏洞的解决方案
2018/10/14 PHP
自制基于jQuery的智能提示插件一枚
2011/02/18 Javascript
自定义ExtJS控件之下拉树和下拉表格附源码
2013/10/15 Javascript
jQuery中slice()方法用法实例
2015/01/07 Javascript
js实现点击左右按钮轮播图片效果实例
2015/01/29 Javascript
JQuery通过AJAX从后台获取信息显示在表格上并支持行选中
2015/09/15 Javascript
JavaScript判断FileUpload控件上传文件类型
2015/09/28 Javascript
jQuery实现对无序列表的排序功能(附demo源码下载)
2016/06/25 Javascript
真正好用的js验证上传文件大小的简单方法
2016/10/27 Javascript
浅谈jQuery操作类数组的工具方法
2016/12/23 Javascript
canvas滤镜效果实现代码
2017/02/06 Javascript
Express使用html模板的详细代码
2017/09/18 Javascript
详解Node.js中的Async和Await函数
2018/02/22 Javascript
在Vue中使用Echarts实例图的方法实例
2020/10/10 Javascript
Python变量和字符串详解
2017/04/29 Python
Python读取视频的两种方法(imageio和cv2)
2018/04/15 Python
对python中矩阵相加函数sum()的使用详解
2019/01/28 Python
通过python爬虫赚钱的方法
2019/01/29 Python
详解pandas如何去掉、过滤数据集中的某些值或者某些行?
2019/05/15 Python
解决django接口无法通过ip进行访问的问题
2020/03/27 Python
Python通过文本和图片生成词云图
2020/05/21 Python
用pandas划分数据集实现训练集和测试集
2020/07/20 Python
Django如何在不停机的情况下创建索引
2020/08/02 Python
英国假发网站:Hothair
2018/02/23 全球购物
家长给学校的建议书
2014/05/15 职场文书
党员教师群众路线思想汇报范文
2014/10/28 职场文书
申报优秀教师材料
2014/12/16 职场文书
内勤岗位职责范本
2015/04/13 职场文书
人与自然观后感
2015/06/16 职场文书
python自动化测试通过日志3分钟定位bug
2021/11/20 Python