php 统计文件行数的代码

发布时间:2019-11-12编辑:脚本学堂
本文分享一个用于统计文件行数的php代码,不是采用file()函数,而是通过自定义的函数,使用fopen系列函数来实现该功能。希望对大家有所帮助。

在php中,如果要统计文件的行数,对于小文件而言,使用file()函数是最方便的。
不过对于大文件而言,采用file()函数,就会效率很低,因为该函数会一次性把数据读取到一个数组中,然后储存在内存中。
由于php内存的限制,此方法处理大文件时,会效率极低,且容易出错。

本文介绍的这个方法,通过逐行遍历文件,可以处理任意大小的文件,而不用考虑内存限制的问题。

统计文件行数的代码,如下:

<?php
 /*** 统计文件行数,调用示例 ***/
 echo countLines("/path/to/file.txt");

 /**
 *
 * @统计文件行数
 * @param string filepath 
 * @return int
 * @edit www.jb200.com
 */
 function countLines($filepath) 
 {
    /*** open the file for reading ***/
    $handle = fopen( $filepath, "r" );
    /*** set a counter ***/
    $count = 0;
    /*** loop over the file ***/
    while( fgets($handle) ) 
    {
        /*** increment the counter ***/
        $count++;
    }
    /*** close the file ***/
    fclose($handle);
    /*** show the total ***/
    return $count;
 }

?>