Чтение определенной строки в файле

Задача
Необходимо прочитать из файла определенную строку, например самую свежую запись в гостевой книге, которая была добавлена в конец файла гостевой книги.

Решение
Если файл помещается в память, то прочитайте его в массив и извлеките соответствующий элемент массива:

$lines = file('vacation-hotspots.txt');
print $lines;


Обсуждение
Поскольку индексирование массива начинается с 0, то элемент $lines ссылается на третью строку файла.

Если файл не помещается в память, то читайте его строку за строкой и отслеживайте, на какой строке вы находитесь:

$line_counter = 0;
$desired_line = 29;
$fh = fopen('vacation-hotspots.txt','r') or die($php_errormsg);
while ((! feof($fh)) && ($line_counter <= $desired_line)) {
if ($s = fgets($fh,1048576)) {
$line_counter++;
}
}
fclose($fh) or die($php_errormsg);
print $s;


Если продолжить логику кода из раздела «Решение», то в результате присваивания $desired_line = 29 будет выведена 30-я строка файла. Для печати 29-й строки файла измените цикл while следующим образом:

while ((! feof($fh)) && ($line_counter < $desired_line)) {
Теги:
Чтение
Добавлено: 22 Июля 2018 15:56:14 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...