[不花钱站长]:从免费域名开始[0元] Oracle永久免费VPS[0元] VPS环境搭建免费脚本[0元] 秒变大盘挂载免费网盘[0元] 小白免费采集器1天500W[0元] CF免费DNS+CDN服务[0元]
[零基础网赚]:撸本站免费源码[0元] 网站强引免费蜘蛛法[0元] 图片视频文件免费存储[0元] 外链轻松发布免费友链[0元] 入坑免费教程学习源代码[0元] 网上百种+赚钱联盟推荐[?元]

↑↑VPS推荐网 WWW.VPS.COM.IN 稳定 便宜 免备案↑↑


您现在的位置是:首页 > 全球[VPS测评] >  count,die,echo,file,filepath,fopen,fp,line,php,txt,while,函数,文件,,国外永久免费VPS

php高效统计txt大文件行数函数

全球[VPS测评]来源:VPS推荐网点击:918
【性价之王】【线路之王】【价格之王】【配置之王】
【免费之王】【香港首推】【梯子之王】【独服之王】
php高效统计txt大文件行数函数php中提供了专门的file函数来读取文件,通过file函数可以一次性获取一个txt文件的行数:

<?php $line = count(file($filepath)); echo $line; ?>

但是file函数不适用于大文件,执行缓慢并且会造成严重的内存问题。

网上还有一种通过fopen函数以及while逐行统计的代码,如下:

<?php line = 0 ; $fp = fopen($filepath , 'r') or die("open file failure!"); if($fp){ while(stream_get_line($fp,8192,"n")){    $line++; } fclose($fp); } echo $line; ?>

这种方法在读取大文件行数时,同样面临着效率太慢的问题。

经过实践,我们采用以下方法可以超高效率的读取txt大文件行数,并且内存占用也很低。

<?php 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; } ?>

通过多行统计,每次读取N个字节,然后再统计读取的行数累加。

测试情况,文件大小 3.14 GB

第1次:line: 13214810 , time:56.2779 s;

第2次:line: 13214810 , time:49.6678 s;


[count]历史优惠活动内容
  • serverdiscounter→€1 月 1GB 内存 10GB SSD 空间 不限流量
  • ThinkPHP5 提示 A non well formed numeric value e
  • OneProvider→Servdiscount 德国独服 1Gbps 带宽 不限流量 8G
  • serverdiscounter→€1 月 1GB 内存 10GB SSD 空间 不限流量
  • ThinkPHP5 提示 A non well formed numeric value e
  • OneProvider→Servdiscount 德国独服 1Gbps 带宽 不限流量 8G
  • serverdiscounter→€1 月 1GB 内存 10GB SSD 空间 不限流量
  • ThinkPHP5 提示 A non well formed numeric value e
  • OneProvider→Servdiscount 德国独服 1Gbps 带宽 不限流量 8G
  • serverdiscounter→€1 月 1GB 内存 10GB SSD 空间 不限流量
  • ThinkPHP5 提示 A non well formed numeric value e
  • OneProvider→Servdiscount 德国独服 1Gbps 带宽 不限流量 8G
  • serverdiscounter→€1 月 1GB 内存 10GB SSD 空间 不限流量
  • ThinkPHP5 提示 A non well formed numeric value e
  • OneProvider→Servdiscount 德国独服 1Gbps 带宽 不限流量 8G
  • serverdiscounter→€1 月 1GB 内存 10GB SSD 空间 不限流量
  • ThinkPHP5 提示 A non well formed numeric value e
  • OneProvider→Servdiscount 德国独服 1Gbps 带宽 不限流量 8G
  • serverdiscounter→€1 月 1GB 内存 10GB SSD 空间 不限流量
  • ThinkPHP5 提示 A non well formed numeric value e
  • OneProvider→Servdiscount 德国独服 1Gbps 带宽 不限流量 8G
  • serverdiscounter→€1 月 1GB 内存 10GB SSD 空间 不限流量
  • Hostigger→2021年黑色星期五促销Black Friday Discounts开启
  • serverdiscounter→德国vps 1核 1GB内存 10GB SSD 不限流量
  • GoDaddy账户出现Request to Unlock Account原因及解决方法
  • 解决新注册DigitalOcean账户出现Account Locked锁住账户方法
  • BudgetVM→$20 Account Credit With Purchase of V
  • 已测试#BudgetVM :$20 Account Credit With Purchase
  • BudgetVM→$20 Account Credit With Purchase of V
  • discountasp主机介绍

  • 猜你可能想看的VPS


    转载请注明原文地址:http://140.238.13.167:12355/read-157552.html

    下一篇       上一篇