Comment créer un dossier s'il n'existe pas en PHP

  1. file_exists() pour vérifier si un fichier ou un répertoire existe en PHP
  2. is_dir() pour vérifier si un fichier ou un répertoire existe en PHP
  3. file_exists() vs is_dir() en PHP
  4. 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é.