Comment créer un dossier s'il n'existe pas en PHP
-
file_exists()
pour vérifier si un fichier ou un répertoire existe en PHP -
is_dir()
pour vérifier si un fichier ou un répertoire existe en PHP -
file_exists()
vsis_dir()
en PHP -
mkdir()
en PHP
Il est possible de créer un dossier et de définir les permissions appropriées en utilisant PHP, en particulier en utilisant la fonction mkdir()
.
Le mode de permission par défaut est 0777
(accès le plus large possible). Avant de créer un répertoire, il faut d’abord vérifier si le répertoire ou un fichier existe ou non. En PHP, cela peut être fait en utilisant file_exists
ou is_dir
.
file_exists()
pour vérifier si un fichier ou un répertoire existe en PHP
La fonction file_exists
est une fonction intégrée pour vérifier où un répertoire ou un fichier existe ou non. Elle accepte un paramètre d’un chemin qui retourne true
s’il existe déjà ou false
s’il n’existe pas.
Exemple d’utilisation de la fonction file_exists()
:
$path = "sample/path/newfolder";
if (!file_exists($path)) {
mkdir($path, 0777, true);
}
Dans l’exemple ci-dessus, il vérifie l’existence du répertoire en utilisant la fonction file_exists()
, puis crée le répertoire newfolder
si le résultat est faux, avec la permission de 0777
.
is_dir()
pour vérifier si un fichier ou un répertoire existe en PHP
Cette fonction est également similaire à file_exists
, et la seule différence est qu’elle ne retournera true
que si la chaîne passée est un répertoire et elle retournera false
si c’est un fichier.
Exemple utilisant is_dir
:
$path = "sample/path/newfolder";
if (!is_dir($path)) {
mkdir($path, 0777, true);
}
Dans l’exemple ci-dessus, is_dir
vérifie si le dossier existe déjà avant de créer un nouveau dossier en utilisant mkdir
.
file_exists()
vs is_dir()
en PHP
Les deux fonctions vérifient l’existence du répertoire, la seule différence est que file_exists()
retourne aussi true
si le paramètre passé est un fichier. D’autre part, is_dir
est un peu plus rapide que file_exists
.
mkdir()
en PHP
Cette fonction crée un répertoire qui est spécifié par le nom du chemin d’accès qui est passé comme paramètre. La valeur de retour attendue est true
ou false
.
Exemple d’implémentation:
mkdir($path, $mode, $recursive, $context);
Valeurs des paramètres
Paramètre | Valeurs |
---|---|
path (obligatoire) |
Répertoire ou chemin d’accès à créer |
mode (facultatif) |
Autorisation de répertoire ou de fichier. Par défaut, le mode est 0777 (accès le plus large possible). Le mode est composé de quatre chiffres:1e - Toujours défini à 0 2e - Spécifie la permission du propriétaire du répertoire ou du fichier. 3e - Spécifie la permission du groupe d’utilisateurs du propriétaire 4e - Spécifie la permission de tous les autres. |
recursive (facultatif) |
(true ou false ) Pour créer la structure imbriquée, le paramètre recursive doit être mis à true . |
context (facultatif) |
Ensemble de paramètres qui améliorent ou modifient le comportement du flux. |
Note: PHP vérifie si le script d’exploitation dans le répertoire a le même UID(propriétaire) dans le répertoire lorsque le mode sans échec
est activé.