本文分享一个用于统计文件行数的php代码,不是采用file()函数,而是通过自定义的函数,使用fopen系列函数来实现该功能。希望对大家有所帮助。
在php中,如果要统计文件的行数,对于小文件而言,使用file()函数是最方便的。 不过对于大文件而言,采用file()函数,就会效率很低,因为该函数会一次性把数据读取到一个数组中,然后储存在内存中。 由于php内存的限制,此方法处理大文件时,会效率极低,且容易出错。 本文介绍的这个方法,通过逐行遍历文件,可以处理任意大小的文件,而不用考虑内存限制的问题。 统计文件行数的代码,如下: <?php /*** 统计文件行数,调用示例 ***/ echo countLines("/path/to/file.txt"); /** * * @统计文件行数 * @param string filepath * @return int * @edit bbs.it-home.org */ 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; } ?> |