2016-12-26 5 views
0

Я пытаюсь прочитать первую 5 строки кода-блок в текстовый файл, пожалуйста, как мне это сделатьКак читать первые 5 строк в php?

У меня есть этот PHP код, чтобы получить только первую строку

<?php 
$file = 'example.txt'; 
$f = fopen($file, 'r'); 
$line = fgets($f); 
    while (($line = fgets($f)) !== false) { 
      for ($list = 1; $list < 6; $list++){ 
       $codeline= htmlentities($line); 
      } 
     } 
fclose($f); 
?> 

ответ

2

Вы можете использовать for цикл:

for ($x = 1; $x < 6; $x++) { 
    $line = fgets($f); 
} 
0

еще более простой:

<?php 
$file_data = array_slice(file('file.txt'), 0, 5); 
print_r($file_data); 

Источник: get the first 3 lines of a text file in php от @ Поль-Денисевич

+0

Это _technically_ работает, однако, она будет загружать весь файл в память. Если файл скажет, 1 ГБ, это не будет идеальным. –

+0

И получается 3 не 5, просто сказать. – AbraCadaver

+0

@AbraCadaver отметил спасибо. – Beginner

0

Чтобы открыть и прочитать файл построчно:

$file = fopen("/path/to/file.txt", "r"); 

$index=0; 
while ((($line = fgets($file)) !== false) && ($index++ < 5)) { 

    echo $line; 
} 

fclose($file); 

Здесь я инициализации переменной index в .

В цикле while мы будем использовать fgets, чтобы прочитать следующую строку файла и присвоить его переменной line. Мы также проверим, что значение index меньше 5, наш желаемый номер строки, в дополнение к увеличению значения индекса, после того, как мы прочтем строку.

Как только значение индекса достигло> 5, цикл завершится, и поток файла будет закрыт.

Преимущество использования fopen и fgets над чем-то вроде file, что последний будет загружать все содержимое файла в память - даже если вы не планируете использовать целиком.

С multi line file, the above code распечатает первые пять строк.

Это многострочный линию

+0

Моя проблема: 'doSomethingWith' am new in php –

+0

Это просто имя функции, которое я создал, это где вы заготовки, что вам нужно делать с каждой строкой. Я добавил в счетчик, а также. –

+0

Я пробовал, но не работал –

Смежные вопросы