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