Возможный дубликат:
Получение одной строки в огромном файле с PHP
У меня есть файл с чем-то вроде 200 строк, и я хочу прочитать определенную строку из этого текстового файла. как мне это сделать?
Спасибо.
Непроверенные.
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; }
Я уверен, что это дубликат, но в любом случае:
$file = new SplFileObject('file.txt'); $file->seek($lineNumber); // zero based echo $file->current();
обозначение CW, потому что middaparka обнаружил дубликат
Что-то вроде этого это сделало бы – продолжайте читать строки из файла, пока не получите тот, который вам нужен (последняя строка гарантирует, что мы вернем 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; }