Crea una cartella se non esiste in PHP
-
file_exists()per verificare se un file o una directory esiste in PHP -
is_dir()per verificare se un file o una directory esiste in PHP -
file_exists()vsis_dir()in PHP -
mkdir()in PHP
È possibile creare una cartella e impostare i permessi appropriati usando PHP, in particolare usando la funzione mkdir().
La modalità di autorizzazione predefinita è 0777 (accesso più ampio possibile). Prima di creare una directory, viene importata per verificare se la directory o un file esiste o meno. In PHP, può essere fatto usando file_exists o is_dir.
file_exists() per verificare se un file o una directory esiste in PHP
La funzione file_exists è una funzione incorporata per controllare dove esiste o meno una directory o un file. Accetta un parametro di un percorso che restituisce true se già esiste o false in caso contrario.
Esempio di utilizzo di file_exists():
$path = "sample/path/newfolder";
if (!file_exists($path)) {
mkdir($path, 0777, true);
}
Nell’esempio sopra, controlla l’esistenza della directory usando la funzione file_exists(), quindi crea la directory newfolder se il risultato è falso, con il permesso di 0777.
is_dir() per verificare se un file o una directory esiste in PHP
Questa funzione è anche simile a file_exists, e l’unica differenza è che restituirà true solo se la stringa passata è una directory e restituirà false se è un file.
Esempio di utilizzo di is_dir:
$path = "sample/path/newfolder";
if (!is_dir($path)) {
mkdir($path, 0777, true);
}
Nell’esempio sopra, is_dir controlla se la cartella esiste già prima di creare una nuova cartella usando mkdir.
file_exists() vs is_dir() in PHP
Entrambe le funzioni controllano l’esistenza della directory, l’unica differenza è file_exists() restituisce anche true se il parametro passato è un file. D’altra parte, is_dir è un po’ più veloce di file_exists.
mkdir() in PHP
Questa funzione crea una directory specificata dal percorso che viene passato come parametro. Il valore di ritorno atteso è true o false.
Esempio di implementazione:
mkdir($path, $mode, $recursive, $context);
Valori dei parametri
| Parametro | Valori |
|---|---|
path (obbligatorio) |
Directory o percorso da creare |
mode (opzionale) |
Autorizzazioni per directory o file. Per impostazione predefinita, la mode è 0777 (accesso più ampio possibile). La mode è composta da quattro numeri: 1° - Impostato sempre su 0 2° - Specifica l’autorizzazione del proprietario della directory o file. 3° - Specifica l’autorizzazione del gruppo utenti del proprietario 4° - Specifica l’autorizzazione di tutti gli altri. |
recursive (opzionale) |
(true o false) Per creare la struttura nidificata, il parametro ricorsivo deve essere impostato su true. |
context (opzionale) |
Insieme di parametri che migliorano o modificano il comportamento del flusso. |
** Nota: ** PHP controlla se lo script operativo nella directory ha lo stesso UID (proprietario) nella directory quando la modalità provvisoria è abilitata.