从文本文件中读取特定行

时间:2011-01-17 21:51:47

标签: php file

  

可能重复:
  Getting one line in a huge file with PHP

我有200行的文件文本,我想从这个文本文件中读取一个特定的行。我怎么能这样做?

谢谢。

3 个答案:

答案 0 :(得分:2)

我确信这是重复的,但无论如何:

$file = new SplFileObject('file.txt');
$file->seek($lineNumber); // zero based
echo $file->current();

标记CW,因为middaparka找到了重复的

答案 1 :(得分:2)

未测试。

function getline($file, $linenum, $linelen = 8192) {
    $handle = fopen($file, "r");

    if ($handle) {
        while (!feof($handle)) {
            $linenum -= 1;
            $buffer = fgets($handle, $linelen); // Read a line.
            if (!$linenum) return $buffer;
        }
        fclose($handle); // Close the file.
    }

    return -1;
}

答案 2 :(得分:0)

像这样的东西会这样做 - 继续读取文件中的行,直到你得到你想要的那一行(如果我们找不到我们想要的行,最后一行确保我们返回false。

function getLine($file, $lineno)
{
    $line=false;
    $fp=fopen($file, 'r');
    while (!feof($fp) && $lineno--)
    {
        $line=fgets($fp);
    }
    fclose($file);
    return ($lineno==0)?$line:false;

}