php使用feof和fgets函数计算/获取文件内容的行数

时间:2016-08-08
php feof函数用于检测文件指针是否到了文件结束的位置,而fgets函数逐行读取文件内容,根据二者函数的特性,我们可以使用feof和fgets获取文件内容的行数,具体实现源码如下所示,需要的朋友可以参考一下本文章的源码。

先介绍一下feof和fgets函数。

feof() 函数检测是否已到达文件末尾 (eof)。如果文件指针到了 EOF 或者出错时则返回 TRUE,否则返回一个错误(包括 socket 超时),其它情况则返回 FALSE。

fgets() 函数从文件指针中读取一行。

因此我们可以结合这两个函数来计算文件内容的行数,源码如下: 

 <?php
$lines = 0;
/* http://www.manongjc.com/article/1329.html */
if ($fh = fopen('data.txt','r')) {
  while (! feof($fh)) {
    if (fgets($fh)) {
      $lines++;
    }
  }
}
print $lines;
?>