Commit 69cf4ad1 authored by Адлан Шамавов's avatar Адлан Шамавов
Browse files

add readFileLineByLine

parent 42ee1495
Loading
Loading
Loading
Loading
+9 −10
Original line number Diff line number Diff line
<?php
/** 
 * Напиши функцию, которая принимает путь до файла,
 * проверяет, что файл существует и выводит пользователю весь контент файла
 * (файл можешь создать любой)
 * Переделай своё решение 8 задачи:
 * замени вывод всего текста из файла разом на 
 * построчный вывод используя yield 
 * @param string $filePath путь до файла
 * @return void  
 */  
function readLogFile(string $filePath): void {
function readFileLineByLine(string $filePath): iterable {
    if (file_exists($filePath)) {
        $text = "";
        $file = fopen($filePath, "r");
        while(!feof($file)) {
            $line = fgets($file);
            $text .= $line;
            yield fgets($file);
        }
        fclose($file);
        print($text);
    }
    else print("Такого файла не существует.");
    else yield "Такого файла не существует.";
}

?>
@@ -31,7 +28,9 @@ function readLogFile(string $filePath): void {
</head>
<body>
    <?php
        readLogFile(__DIR__ . "/files/text.txt");
        foreach(readFileLineByLine(__DIR__ . "/files/text.txt") as $line) {
            print($line);
        }
    ?>
</body>
</html>
 No newline at end of file