原文出处

提供两种实现方法,但是第一种效率最好

第一种:

<?php
$file_path = 'test.txt'; //文件路径 此处找一个1094644行的TXT文件 test.txt
$line = 0 ; //初始化行数
//打开文件
set_time_limit(0);
echo "开始时间:".date("H:i:s")."</br>"; //此处设一个计时器 开始时间
$fp = fopen($file_path , 'r') or die("open file failure!");
if($fp){
//获取文件的一行内容,注意:需要php5才支持该函数;
while(stream_get_line($fp,8192,"\n")){
$line++;
}
fclose($fp);//关闭文件
}
//输出行数;
echo $line."</br>";
echo "结束时间:".date("H:i:s")."</br>"; //此处设一个计时器 结束时间 ?>

查看一下网页显示结果:

连一秒都不到。可以看出这样的效率还是蛮高的。

第二种:

<?php

    $file_path = 'test.txt'; //文件路径  此处找一个1094644行的TXT文件 test.txt
set_time_limit(0);
echo "开始时间:".date("H:i:s")."</br>"; //此处设一个计时器 开始时间
$line = count(file($file_path));
//输出行数;
echo $line."</br>";
echo "结束时间:".date("H:i:s")."</br>"; //此处设一个计时器 结束时间
?>

查看一下网页显示结果:

好像也很快,也不到1秒钟。

下面我再用时间戳试一下:

修改一下PHP语句

第一种方法:

<?php
$file_path = 'test.txt'; //文件路径 此处找一个1094644行的TXT文件 test.txt
$line = 0 ; //初始化行数
//打开文件
set_time_limit(0);
$start_time=microtime(true);//获取程序执行开始的时间
$fp = fopen($file_path , 'r') or die("open file failure!");
if($fp){
//获取文件的一行内容,注意:需要php5才支持该函数;
while(stream_get_line($fp,8192,"\n")){
$line++;
}
fclose($fp);//关闭文件
}
//输出行数;
echo $line."</br>";
$end_time=microtime(true);//获取程序执行结束的时间
$elapse=$end_time-$start_time; //获取差值
echo "消耗时间".$elapse."</br>"; //此处设一个计时器 结束时间 ?>

得到结果:

第二种方法:

<?php

    $file_path = 'test.txt'; //文件路径  此处找一个1094644行的TXT文件 test.txt
set_time_limit(0);
$start_time=microtime(true);//获取程序执行开始的时间
$line = count(file($file_path));
//输出行数;
echo $line."</br>";
$end_time=microtime(true);//获取程序执行结束的时间
$elapse=$end_time-$start_time; //获取差值
echo "消耗时间".$elapse."</br>"; //此处设一个计时器 结束时间
?>

得到结果:

这种方法测试的可以明显看出来,还是第一种方法要好的多。

PHP获取文件行数的更多相关文章

  1. PHP如何获取文件行数

    本文实例讲述了PHP获取文件行数的方法.分享给大家供大家参考.具体分析如下:提供两种实现方法,虽然第二种简单易懂,但是第一种效率最好第一种: <?php $file_path = 'xxx.tx ...

  2. shell获取文件行数

    获取文件行数: echo `cat $file | wc -l` 获取文件中不重复的行数(去重后) echo `awk '{$1="";print $0;}' $file_tel ...

  3. java获取文件行数

    public long getLineNumber(File file) { if (file.exists()) { try { FileReader fileReader = new FileRe ...

  4. python 获取文件行数

    #如果要统计文件的行数,可以这样写: count = len(open(filepath, 'r').readlines()) #这种方法简单,但是可能比较慢,当文件比较大时甚至不能工作. #可以利用 ...

  5. JMeter获取CSV文件行数

    import java.io.BufferedReader; import java.io.FileReader; BufferedReader br=new BufferedReader(new F ...

  6. Shell脚本统计文件行数

    Shell脚本统计文件行数 转自 http://www.jb51.net/article/61943.htm    示例:row_count.sh文件 awk '{print NR}' row_cou ...

  7. python学习之——计算文件行数

    # -*- coding: cp936 -*- #转载源于:http://blog.csdn.net/houyj1986/article/details/21196027 #计算文件行数 #1.文件比 ...

  8. Python逐块读取大文件行数的代码 - 为程序员服务

    Python逐块读取大文件行数的代码 - 为程序员服务 python数文件行数最简单的方法是使用enumerate方法,但是如果文件很大的话,这个方法就有点慢了,我们可以逐块的读取文件的内容,然后按块 ...

  9. Python 文件行数读取的三种方法

    Python三种文件行数读取的方法: #文件比较小 count = len(open(r"d:\lines_test.txt",'rU').readlines()) print c ...

随机推荐

  1. Web Adaptor重装配置时 提示已经配置成功的问题

    环境 ArcGIS 10.1/10.2/10.3 Windwos 8.1 Tomcat 7.0.5 问题描述 较早之前在本机上安装配置过一个10.2.1版本的ArcGIS产品,包括桌面.Server和 ...

  2. spm使用之六安装别人写好的spm文档主题模板

    上回说到有个nico-one的文档主题模板, https://github.com/lepture/nico-one 把他可以下载了, 放到 C:\Documents and Settings\Adm ...

  3. Contest20140705 testC DP

    testC 输入文件: testC.in 输出文件testC.out 时限1000ms 问题描述: ,⋯,an. ,a2,a3,⋯,an) ,⋯,alm. ,al2,al3,⋯,alm) 现要求G=g ...

  4. ebook-nodej

    http://www.nodebeginner.org/index-zh-cn.html https://about.pinterest.com/careers/engineering/#oFwkXf ...

  5. 转:synchronized和LOCK的实现原理---深入JVM锁机制

    JVM底层又是如何实现synchronized的? 目前在Java中存在两种锁机制:synchronized和Lock,Lock接口及其实现类是JDK5增加的内容,其作者是大名鼎鼎的并发专家Doug ...

  6. [cocos2d] 利用texture atlases生成动画

    texturepacker可以方便地制作纹理贴图集(Texture Atlases),而且可以免费试用.(可在官网申请免费liscence) //利用软件将5帧png贴图生成1张大的png贴图和pli ...

  7. Delphi WebService 中 Web App Debugger 的建议

    NEW一个WEBAPP,选WEBAPPDEBUGGER,输一个COCLASSNAME,比如叫HELLO保存为工程比如叫TEST,UNIT2比如改叫WEBMOD,UNIT1以后没用了,所以还叫UNIT1 ...

  8. 有关Spring Batch

    在使用Spring Batch时,在无法实现StepListener的情况下,如何使用ExecutionContext呢. 解决办法,使用宣言@BeforeStep或@AfterStep.

  9. opengl performance optimization

    OpenGL 性能优化 作者: Yang Jian (jyang@cad.zju.edu.cn) 日期: 2009-05-04 本文从硬件体系结构.状态机.光照.纹理.顶点数组.LOD.Cull等方面 ...

  10. 折腾iPhone的生活——iPhone 5s 开启 assistive touch 后卡顿的问题

    刚刚入手我的国行iPhone5s土狗灰,感觉倍棒~ 但是一上手就发现了一个问题:卡顿. 卡顿不仅体现在日常使用中,游戏中更加严重,当我玩水果忍者的时候,会发现切水果的画面都变得不流畅起来,这是拥有64 ...