如何使用fopen打开文件中的当前行?

时间:2012-02-23 16:45:51

标签: php

我需要从下面的文件中获取文件指针的行位置。

string1\n
string2\n
string3\n

我正在使用此函数读取文件。

function get() {
    $fp = fopen('example.txt', 'r');
    if (!$fp) {
        echo 'Error' . PHP_EOL;
    }
    while(!feof($fp)) {
        $string = trim(fgets($fp));
        if(!$string) {
                continue;
        } else {
            /*
            * Here I want to get a line number in this file
            */
            echo $string . PHP_EOL;
        }
    }
}

1 个答案:

答案 0 :(得分:2)

简单的解决方案是使用计数器。

function get() {

   // Line number counter
   $lncount = 0;

   $fp = fopen('example.txt', 'r');
   if (!$fp) {
       echo 'Error' . PHP_EOL;
   }
   while(!feof($fp)) {
      $string = trim(fgets($fp));

      // Increment line counter
      $lncount++;

      if(!$string) {
         continue;
      } else {

         // Show line
         echo "Current line: " . $lncount;

         echo $string . PHP_EOL;
      }
   }
}