is_file în PHP

Verifică dacă o cale indică un fișier obișnuit (nu un director).

Sintaxă
is_file(string $filename): bool

Ce face is_file

is_file returnează true doar pentru fișiere obișnuite care există. Pentru directoare și pentru căi care nu există returnează false.

Este alegerea potrivită când vrei să deschizi sau să citești fișierul imediat după verificare.

Parametri

Parametru Descriere
$filename Calea verificată.

Ce returnează

true dacă există și este fișier obișnuit, altfel false.

Exemple

Exemplul 1: Fișier, director și cale inexistentă

<?php
file_put_contents("raport.txt", "Vânzări: 1200 lei");
mkdir("arhiva");

var_dump(is_file("raport.txt"));
var_dump(is_file("arhiva"));
var_dump(is_file("lipsa.txt"));

Rezultat

bool(true)
bool(false)
bool(false)

Exemplul 2: Doar fișierele dintr-un director

scandir întoarce și directoarele, așa că le filtrăm cu is_file. Calea completă se formează lipind numele directorului.

<?php
mkdir("documente/vechi", 0777, true);
file_put_contents("documente/cv.pdf", "...");
file_put_contents("documente/factura.pdf", "...");

$fisiere = array_filter(
    scandir("documente"),
    fn($nume) => is_file("documente/$nume")
);

print_r(array_values($fisiere));

Rezultat

Array
(
    [0] => cv.pdf
    [1] => factura.pdf
)

Greșeli frecvente

  • Dai doar numele din scandir (is_file($nume)) în loc de calea completă (is_file("documente/$nume")). PHP caută fișierul în directorul curent și returnează false.

Comenzi înrudite

  • file_exists: Verifică dacă un fișier sau un director există pe disc.
  • is_dir: Verifică dacă o cale indică un director existent.
  • scandir: Returnează lista fișierelor și directoarelor dintr-un director, sortată alfabetic.