PHP: чтение определенной строки из файла - PullRequest
52 голосов
/ 25 апреля 2011

Я пытаюсь прочитать определенную строку из текстового файла, используя php. Вот текстовый файл:

foo  
foo2

Как бы получить содержимое второй строки, используя php? Это возвращает первую строку:

<?php 
$myFile = "4-24-11.txt";
$fh = fopen($myFile, 'r');
$theData = fgets($fh);
fclose($fh);
echo $theData;
?>

.. но мне нужно второе.

Любая помощь будет принята с благодарностью

Ответы [ 12 ]

1 голос
/ 03 ноября 2015

Вы можете попробовать цикл до нужной строки, а не EOF, и каждый раз сбрасывать переменную в строку (не добавляя к ней). В вашем случае 2-я строка - это EOF. (Цикл for, вероятно, более уместен в моем коде ниже).

Таким образом, весь файл не находится в памяти; недостаток в том, что требуется время, чтобы просмотреть файл до нужной вам точки.

<?php 
$myFile = "4-24-11.txt";
$fh = fopen($myFile, 'r');
$i = 0;
while ($i < 2)
 {
  $theData = fgets($fh);
  $i++
 }
fclose($fh);
echo $theData;
?>
1 голос
/ 22 августа 2015

Использовать stream_get_line: stream_get_line - получает строку от ресурса потока до заданного разделителя Источник: http://php.net/manual/en/function.stream-get-line.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...