Heim  >  Artikel  >  Backend-Entwicklung  >  php 统计文件行数的代码

php 统计文件行数的代码

WBOY
WBOYOriginal
2016-07-25 08:56:51870Durchsuche
本文分享一个用于统计文件行数的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;
 }

?>


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn