mkdir

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

mkdirCrea un directorio

Descripción

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

Intenta crear el directorio especificado por directory.

Parámetros

directory

La ruta del directorio.

Sugerencia

Puede utilizar una URL como nombre de archivo con esta función, si el gestor fopen ha sido activado. Véase fopen() para más detalles sobre cómo especificar el nombre del archivo. Consulte Protocolos y Envolturas soportados para más información sobre las capacidades de los diferentes gestores, las notas sobre su uso, así como la información sobre las variables predefinidas que proporcionan.

permissions

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:

permissions 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

Si el valor es true, entonces cualquier directorio padre del directorio especificado en el parámetro directory también será creado, con los mismos permisos.

context

Nota: Un resource de contexto de flujo.

Valores devueltos

Esta función retorna true en caso de éxito o false si ocurre un error.

Nota:

Si el directorio a crear ya existe, se considerará un error y se devolverá false. Utilice is_dir() o file_exists() para comprobar si el directorio ya existe antes de intentar crearlo.

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.

Ejemplos

Ejemplo #1 Ejemplo 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...');
}

// ...
?>

Ver también

  • is_dir() - Indica si el fichero es un directorio
  • rmdir() - Elimina un directorio
  • umask() - Cambia el "umask" actual