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 à 02e - 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é.