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_existsca să verifici că poți citi un fișier. Funcția returneazătrueși pentru directoare. Foloseșteis_filesauis_readable. - Verifici o adresă web:
file_exists("https://...")returnează mereufalse, 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.