# mkdir

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

mkdir — Crea un directorio

### Descripción

mkdir(
string `$pathname`,
int `$mode` = 0777,
bool `$recursive` = `false`,
resource `$context` = ?
): bool

Intenta crear el directorio especificado por pathname.

### Parámetros

`pathname`

  La ruta del directorio.

`mode`

  El modo predeterminado es 0777, lo que significa el acceso más amplio posible. Para más información sobre los modos, lea los detalles en la página de chmod().

  > Nota:

  > `mode` es ignorado en Windows.

  Observe que probablemente se quiera especificar el modo como un número octal, lo que significa que debería de haber un cero inicial. El modo es modificado también por la actual máscara de usuario, la cual se puede cambiar usando umask().

`recursive`

  Permite la creación de directorios anidados especificado en el parámetro `pathname`.

`context`

  > Nota: Soporte para context fue añadido en PHP 5.0.0. Para una descripción de `contexts`, refiérase a Flujos.

### Valores devueltos

Devuelve `true` en caso de éxito o `false` en caso de error.

### Ejemplos

Ejemplo #1 Ejmplo de mkdir()

`<?php
mkdir("/ruta/a/mi/directorio", 0700);
?>`

Ejemplo #2 mkdir() usando el parámetro `recursive`

`<?php
// Estructura de la carpeta deseada
$estructura = './nivel1/nivel2/nivel3/';
// Para crear una estructura anidada se debe especificar
// el parámetro $recursive en mkdir().
if(!mkdir($estructura, 0777, true)) {
die('Fallo al crear las carpetas...');
}
// ...
?>`

### Errores/Excepciones

Emite un error de nivel `E_WARNING` si el directorio ya existe.

Emite un error de nivel `E_WARNING` si los permisos relevantes impiden crear el directorio.

### Notas

### Ver también

- is_dir() - Indica si el nombre de archivo es un directorio
- rmdir() - Elimina un directorio