当前位置: 首页 > 编程笔记 >

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

姚实
2023-03-14
本文向大家介绍php超快高效率统计大文件行数,包括了php超快高效率统计大文件行数的使用技巧和注意事项,需要的朋友参考一下

用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编程效率技巧的使用技巧和注意事项,需要的朋友参考一下 用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则 不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加 上了双引号)。     1、如果能将类的方

  • 问题内容: 我的文件中有1亿条记录,需要一种有效且最快的方法来从中的文件读取数组数组。 文件看起来像: 我想逐行读取此文件为: 首先阅读: 然后: 依此类推:’ 我如何读取这样的文件,我知道它看起来并不完全像文件,但是我需要以另存为JSON的这种格式读取该文件 问题答案: 您可以使用JSON Processing API(JSR 353) 来以流方式处理数据:

  • 期望 方差 标准差

  • 6.8.1 概述 高级事件统计 与 (简单)事件统计均属于用户与网站的交互事件统计。 与简单事件统计相比,高级事件统计可统计更多维度、指标的数据, 常见场景如表单信息的统计,包括汽车预约试驾表单,化妆品的申领使用等。 6.8.2 对比 高级事件统计 与(简单)事件统计 对比 统计维度 统计指标 附属系统默认指标 高级事件统计 可统计至多20个维度 可统计至多20个指标 事件次数、事件唯一访问量、事

  • 本文向大家介绍54个提高PHP程序运行效率的方法,包括了54个提高PHP程序运行效率的方法的使用技巧和注意事项,需要的朋友参考一下 1.在可以用file_get_contents替代file、fopen、feof、fgets等系列方法的情况下,尽量用 file_get_contents,因为他的效率高得多!但是要注意file_get_contents在打开一个URL文件时候的PHP版本问题; 2.

  • 本文向大家介绍php使用file函数、fseek函数读取大文件效率对比分析,包括了php使用file函数、fseek函数读取大文件效率对比分析的使用技巧和注意事项,需要的朋友参考一下 php读取大文件可以使用file函数和fseek函数,但是二者之间效率可能存在差异,本文章向大家介绍php file函数与fseek函数实现大文件读取效率对比分析,需要的朋友可以参考一下。 1. 直接采用file函数