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 imagecreatetruecolor 创建高清和透明图片代码小结
May 15 PHP
在PHP中实现Javascript的escape()函数代码
Aug 08 PHP
《PHP编程最快明白》第四讲:日期、表单接收、session、cookie
Nov 01 PHP
php中unserialize返回false的解决方法
Sep 22 PHP
Linux中为php配置伪静态
Dec 17 PHP
php发送html格式文本邮件的方法
Jun 10 PHP
简单解析PHP程序的运行流程
Jun 23 PHP
php处理带有中文URL的方法
Jul 11 PHP
Yii2框架RESTful API 格式化响应,授权认证和速率限制三部分详解
Nov 10 PHP
yii2中dropDownList实现二级和三级联动写法
Apr 26 PHP
php和html的区别点详细总结
Sep 24 PHP
laravel框架与其他框架的详细对比
Oct 23 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实现的一个简单json rpc框架实例
2015/03/30 PHP
php实现的微信红包算法分析(非官方)
2015/09/25 PHP
Laravel5.1 框架响应基本用法实例分析
2020/01/04 PHP
php中try catch捕获异常实例详解
2020/08/06 PHP
JavaScript 异步调用框架 (Part 1 - 问题 & 场景)
2009/08/03 Javascript
JS getStyle获取最终样式函数代码
2010/04/01 Javascript
niceTitle 基于jquery的超链接提示插件
2010/05/31 Javascript
Jquery中getJSON在asp.net中的使用说明
2011/03/10 Javascript
js动态调用css属性的小规律及实例说明
2013/12/28 Javascript
利用jquery写的左右轮播图特效
2014/02/12 Javascript
js的flv视频播放器插件使用方法
2015/06/23 Javascript
JavaScript:Array类型全面解析
2016/05/19 Javascript
BootStrap实现手机端轮播图左右滑动事件
2016/10/13 Javascript
JavaScript实现移动端轮播效果
2017/06/06 Javascript
ECMAscript 变量作用域总结概括
2017/08/18 Javascript
AngularJS实现的2048小游戏功能【附源码下载】
2018/01/03 Javascript
微信小程序之下拉列表实现方法解析(附完整源码)
2019/08/23 Javascript
Vue Extends 扩展选项用法完整实例
2019/09/17 Javascript
JavaScript检测浏览器是否支持CSS变量代码实例
2020/04/03 Javascript
解决echarts图表使用v-show控制图表显示不全的问题
2020/07/19 Javascript
vuecli项目构建SSR服务端渲染的实现
2020/10/30 Javascript
python对json的相关操作实例详解
2017/01/04 Python
Python实现多并发访问网站功能示例
2017/06/19 Python
python写入已存在的excel数据实例
2018/05/03 Python
GDAL 矢量属性数据修改方式(python)
2020/03/10 Python
jupyter notebook 重装教程
2020/04/16 Python
PyTorch在Windows环境搭建的方法步骤
2020/05/12 Python
python实现图片,视频人脸识别(opencv版)
2020/11/18 Python
python 模拟登陆163邮箱
2020/12/15 Python
Python中lru_cache的使用和实现详解
2021/01/25 Python
巧用CSS3的calc()宽度计算做响应模式布局的方法
2018/03/22 HTML / CSS
HTML5新增的Css选择器、伪类介绍
2013/08/07 HTML / CSS
艺术系大学生毕业个人自我评价
2013/09/19 职场文书
会计电算化个人自我评价
2013/11/17 职场文书
经理管理专业自荐信范文
2013/12/31 职场文书
高中学生自我评价范文
2014/09/23 职场文书