# mkdir

(PHP 4, PHP 5, PHP 7, PHP 8)

mkdir — Crée un dossier

### Description

mkdir(
string `$directory`,
int `$permissions` = 0777,
bool `$recursive` = `false`,
?resource `$context` = `null`
): bool

Tente de créer le dossier spécifier par `directory`.

### Liste de paramètres

`directory`

  Le chemin du dossier.

  Astuce

  Vous pouvez utiliser une URL comme nom de fichier avec cette fonction, si le gestionnaire fopen a été activé. Voyez fopen() pour plus de détails sur la façon de spécifier le nom du fichier. Reportez-vous aux Liste des protocoles et des gestionnaires supportés pour plus d'informations sur les capacités des différents gestionnaires, les notes sur leur utilisation, ainsi que les informations sur les variables prédéfinies qu'elles fournissent.

`permissions`

  Les permissions par défaut est 0777, ce qui correspond au maximum de droits possible. Pour plus d'informations sur les permissions, lisez en détail la documentation de la fonction chmod().

  > Note:

  > `permissions` est ignoré sous Windows.

  Notez que vous aurez à préciser les`permissions` en base octale, ce qui signifie que vous aurez probablement un 0 comme premier chiffre. Les `permissions` sera aussi modifié par le umask courant, que vous pouvez modifier avec la fonction umask().

`recursive`

  Si `true`, alors tous les répertoires parents au `directory` spécifié seront également créés, avec les mêmes permissions.

`context`

  > Note: Une resource de contexte de flux.

### Valeurs de retour

Cette fonction retourne `true` en cas de succès ou `false` si une erreur survient.

> Note:

> Si le répertoire à créer existe déjà, cela est considéré comme une erreur et `false` sera toujours retourné. Les fonctions is_dir() ou file_exists() peuvent être utilisée pour vérifier si le répertoire existe déjà avant d'essayer de le créer.

### Erreurs / Exceptions

Émet une alerte de niveau `E_WARNING` si le dossier existe déjà.

Émet une alerte de niveau `E_WARNING` si les permissions empêchent la création du dossier.

### Exemples

Exemple #1 Exemple avec mkdir()

`<?php
mkdir("/path/to/my/dir", 0700);
?>`

Exemple #2 mkdir() utilisant le paramètre `recursive`

`<?php
// Structure de dossier désirée
$structure = './depth1/depth2/depth3/';
// Pour créer une structure imbriquée, le paramètre $recursive
// doit être spécifié.
if (!mkdir($structure, 0777, true)) {
die('Échec lors de la création des dossiers...');
}
// ...
?>`

### Voir aussi

- is_dir() - Indique si le fichier est un dossier
- rmdir() - Efface un dossier
- umask() - Change le "umask" courant