Я пытаюсь прочитать первый 5-строчный кодовый блок в текстовом файле, пожалуйста, как мне это сделать
У меня есть этот 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);
?>
Вы можете использовать for
цикл:
for ($x = 1; $x < 6; $x++) {
$line = fgets($f);
}
Чтобы открыть и прочитать файл построчно:
$file = fopen( "/path/to/file.txt", "r" );
$index=0;
while ((( $line = fgets( $file )) !== false) && ( $index++ < 5 )) {
echo $line;
}
fclose( $file );
Здесь я инициализирую переменную index
в 0.
В цикле while мы будем использовать fgets
прочитать следующую строку файла и присвоить ее переменной line
, Мы также проверим, что значение index
меньше 5, желаемый счетчик строк, в дополнение к увеличению значения индекса после того, как мы прочитали строку.
Как только значение индекса достигнет> 5, цикл завершится, и поток файлов будет закрыт.
Преимущество использования fopen
а также fgets
над чем-то вроде file
, является то, что последний загрузит все содержимое файла в память — даже если вы не планируете использовать все это.
С многострочный файл, вышеуказанный код распечатает первые пять строк.
Это мульти линия
Еще проще:
<?php
$file_data = array_slice(file('file.txt'), 0, 5);
print_r($file_data);
источник: получить первые 3 строки текстового файла в php от @ paul-denisevich