file_exists în PHP

Verifică dacă un fișier sau un director există pe disc.

Sintaxă
file_exists(string $filename): bool

Ce face file_exists

file_exists returnează true dacă la calea dată se află ceva: un fișier obișnuit sau un director. Este verificarea pe care o faci înainte să citești, să ștergi sau să creezi un fișier.

Dacă vrei să știi exact ce tip de element este, folosește is_file (doar fișiere) sau is_dir (doar directoare).

Parametri

Parametru Descriere
$filename Calea către fișier sau director, relativă la directorul curent sau absolută.

Ce returnează

true dacă fișierul sau directorul există, altfel false.

Exemple

Exemplul 1: Un fișier care există și unul care lipsește

<?php
file_put_contents("nota.txt", "Cumpără pâine");

var_dump(file_exists("nota.txt"));
var_dump(file_exists("lipsa.txt"));

Rezultat

bool(true)
bool(false)

Exemplul 2: Funcționează și pentru directoare

Un director „există” pentru file_exists, dar nu este fișier pentru is_file.

<?php
mkdir("poze");

var_dump(file_exists("poze"));
var_dump(is_file("poze"));

Rezultat

bool(true)
bool(false)

Exemplul 3: Creează fișierul doar dacă lipsește

<?php
if (!file_exists("contor.txt")) {
    file_put_contents("contor.txt", "0");
    echo "Am creat contor.txt\n";
}

echo "Valoare: " . file_get_contents("contor.txt");

Rezultat

Am creat contor.txt
Valoare: 0

Greșeli frecvente

  • Folosești file_exists ca să verifici că poți citi un fișier. Funcția returnează true și pentru directoare. Folosește is_file sau is_readable.
  • Verifici o adresă web: file_exists("https://...") returnează mereu false, pentru că funcția lucrează doar cu fișiere locale.
  • Folosești o cale relativă și scriptul rulează din alt director. Pornește de la __DIR__: file_exists(__DIR__ . "/config.php").

Comenzi înrudite

  • is_file: Verifică dacă o cale indică un fișier obișnuit (nu un director).
  • is_dir: Verifică dacă o cale indică un director existent.
  • is_writable / is_readable: Verifică dacă scriptul poate scrie (is_writable) sau citi (is_readable) un fișier sau director.
  • file_get_contents: Citește tot conținutul unui fișier (sau al unei adrese URL) într-un text.