Ce face is_dir
is_dir returnează true doar dacă la calea dată se află un director. Este folosit cel mai des înainte de mkdir, ca să nu încerci să creezi un director care există deja.
Parametri
| Parametru | Descriere |
|---|---|
$filename |
Calea verificată. |
Ce returnează
true dacă există și este director, altfel false.
Exemple
Exemplul 1: Director sau fișier
<?php
mkdir("uploads");
file_put_contents("index.html", "<h1>Salut</h1>");
var_dump(is_dir("uploads"));
var_dump(is_dir("index.html"));
var_dump(is_dir("lipsa"));
Rezultat
bool(true)
bool(false)
bool(false)
Exemplul 2: Creează directorul de cache doar dacă lipsește
Al doilea apel nu mai încearcă să creeze directorul, deci nu apare avertismentul File exists.
<?php
function director_cache(string $cale): string
{
if (!is_dir($cale)) {
mkdir($cale, 0755, true);
echo "Am creat $cale\n";
}
return $cale;
}
director_cache("cache/pagini");
director_cache("cache/pagini");
echo "Gata";
Rezultat
Am creat cache/pagini
Gata
Greșeli frecvente
- Verifici cu
file_existsînainte demkdir. Dacă există un fișier cu același nume,file_existsspunetrue, dar directorul tot nu există.
Comenzi înrudite
mkdir: Creează un director nou, opțional cu toate directoarele părinte care lipsesc.is_file: Verifică dacă o cale indică un fișier obișnuit (nu un director).file_exists: Verifică dacă un fișier sau un director există pe disc.scandir: Returnează lista fișierelor și directoarelor dintr-un director, sortată alfabetic.