file

funkcja

Wczytuje plik do tablicy — każdy element to jedna linia. Zwraca false przy błędzie. Obsługuje flagi FILE_IGNORE_NEW_LINES i FILE_SKIP_EMPTY_LINES.

file(string $filename, int $flags = 0, ?resource $context = null): array|false

file odczytuje plik i zwraca tablicę, gdzie każdy element to kolejna linia (domyślnie wraz ze znakiem nowej linii na końcu). Dwie przydatne flagi:

| Flaga | Działanie | |-------|-----------| | FILE_IGNORE_NEW_LINES | usuwa \n z końca każdej linii | | FILE_SKIP_EMPTY_LINES | pomija puste linie |

Możesz je łączyć operatorem |. Przy błędzie (np. brak pliku) funkcja zwraca false.

Bezpieczeństwo: nie przekazuj niezaufanych danych jako $filename — ryzyko path-traversal.

<?php
declare(strict_types=1);

$sciezka = sys_get_temp_dir() . '/lista.txt';
file_put_contents($sciezka, "jabłko\ngruszka\n\nśliwka\n");

$linie = file($sciezka, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

if ($linie === false) {
    throw new \RuntimeException('Nie można odczytać pliku.');
}

foreach ($linie as $i => $linia) {
    echo ($i + 1) . '. ' . $linia . PHP_EOL;
}

unlink($sciezka);
// 1. jabłko
// 2. gruszka
// 3. śliwka