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

Php 如何使用fopen打开文件中的当前行?,php,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(!$str

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

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;
        }
    }
}

简单的解决办法是使用计数器

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;
      }
   }
}

为每个FGET添加一个行计数器如何?文件将使用fseek()读取我很困惑;您是使用
fgets()
读取文件还是使用
fseek()
?如果您使用的是
fseek()
是否可以编辑您的问题以反映您实际使用的代码?@NiLL但您的示例使用的是
fgets()
,它获取了整行内容。阿尔桑的建议仍然有效。在哪里使用
fseek()