#8. 2 php Чтение строк текста: fgets

Для чтения строки текста из файла используется функция fgets, ниже приведен ее синтаксис:

fgets(resource handle [, int length])

В качестве аргументов функции передаются дескриптор открытого файла и необязательный параметр length. Функция возвращает строку символов длиной до length-$1$. Считывание символов прекращается при достижении length-$1$ символа, при считывании конца строки (он также включается в возвращаемый результат) или при достижении конца файла, в зависимости от того, что произойдет первым. Если параметр length не задан, то по умолчанию его значение принимается равным $1024$ байт.

В примере рассматривается использование этой функции для чтения содержимого текстового файла. Например, существует файл file.txt следующего содержания:

Это
файл
с
текстом.

Требуется отобразить содержимое этого файла. После открытия файла он считывается построчно при помощи функии fgets. Для организации цикла используется оператор while и функция feof, которая возвращает значение true при достижении конца файла.

<?php
    $handle = fopen("file.txt", "r");
    while (! feof($handle)) {
        ...
    }

В теле цикла производится чтение строки текста при помощи fgets и ее отображение:

<?php
    $handle = fopen("file.txt", "r");
    while (! feof($handle)) {
        $text = fgets($handle);
        echo $text, "<BR>";
    }

После завершения работы с файлом его следует закрыть при помощи функции fclose:

<?php
    $handle = fopen("file.txt", "r");
    while (! feof($handle)) {
        $text = fgets($handle);
        echo $text, "<BR>";
    }
    fclose($handle);

Пример 1 демонстрирует использование всех этих функций для отображения файла.

Пример 1. Чтение текстового файла

<HTML>
    <HEAD>
        <TITLE>Чтение файла</TITLE>
    </HEAD>
    <BODY>
        <CENTER>
            <H1>
                Чтение файла
            </H1>
            <?php
                $handle = fopen("file.txt", "r");
                while (! feof($handle)) {
                    $text = fgets($handle);
                    echo $text, "<BR>";
                }
                fclose($handle);
            ?>
        </CENTER>
    </BODY>
</HTML> 

Результат выполнения примера:



Рис. 1. Отображение текстового файла

Key Words for FKN + antitotal forum (CS VSU):