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