Vaya al Contenido
Saltar menú
SuperHispano
+34 012 345 678
info@example.com
España 03:19:18 sábado 07/02/26
Saltar menú
Saltar menú

PHP Manejo de Directorios

Internet > PHP > Manejo de archivos

Manejo de Directorios en PHP


En PHP, la gestión de directorios es esencial para muchas aplicaciones que trabajan con el sistema de archivos. Las operaciones más comunes incluyen la creación, cambio de ubicación y eliminación de directorios.
Este artículo explora las funciones PHP más utilizadas para gestionar directorios: mkdir(), chdir(), getcwd(), y rmdir(). Acompañaremos la explicación de cada función con ejemplos detallados para ayudarte a comprender su funcionamiento.

La función mkdir(): Creación de directorios


La función mkdir() permite crear un nuevo directorio en una ubicación especificada.

Su sintaxis es la siguiente:


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


Parámetros:


$directory (obligatorio): Especifica la ruta absoluta o relativa del nuevo directorio.
$permissions (opcional): Indica los permisos para el directorio. Su valor predeterminado es 0777 (lectura, escritura y ejecución para todos). Este valor es ignorado en sistemas Windows.
$recursive (opcional): Si se establece en true, crea también los directorios padre que no existan.
$context (opcional): Un recurso de flujo (stream) que se utiliza en situaciones avanzadas.

Ejemplo 1: Crear un directorio simple


Este ejemplo crea un directorio en la ubicación actual:

$dir = "./nuevodir/";
if (mkdir($dir)) {
echo "Directorio creado: $dir";
} else {
echo "Error al crear el directorio";
}


Ejemplo 2: Crear un directorio con permisos personalizados


Puedes especificar los permisos del directorio al crearlo:
$dir = "/ruta/absoluta/nuevodir";
$permisos = 0755; // Lectura y ejecución para todos, escritura solo para el propietario
mkdir($dir, $permisos);


Ejemplo 3: Crear un directorio de manera recursiva


Cuando se desea crear múltiples subdirectorios a la vez:
$dirs = "./directorio1/subdir2/subdir3/";
mkdir($dirs, 0777, true); // Crea todos los subdirectorios que no existan


La función chdir(): Cambiar el directorio actual


La función chdir() cambia el directorio de trabajo actual a una ruta específica, de manera similar al comando cd en sistemas operativos. Su sintaxis es:

chdir(string $directory): bool

Ejemplo: Cambiar el directorio actual


$dir = "/nueva_ruta/";
if (chdir($dir)) {
echo "Directorio cambiado a: " . getcwd();
} else {
echo "No se pudo cambiar el directorio";
}


La función getcwd(): Obtener el directorio actual


La función getcwd() devuelve la ruta completa del directorio de trabajo actual. Es útil para confirmar el directorio donde estás operando.

Ejemplo: Obtener el directorio actual


echo "Directorio actual: " . getcwd();

La función rmdir(): Eliminar directorios


La función rmdir() elimina un directorio si está vacío. Si el directorio contiene archivos, no podrá ser eliminado, y se debe vaciar antes de intentar eliminarlo.

Sintaxis:


rmdir(string $directory): bool

Ejemplo 1: Eliminar un directorio vacío


$dir = "./nuevodir/";
if (rmdir($dir)) {
echo "Directorio eliminado: $dir";
} else {
echo "Error al eliminar el directorio, podría no estar vacío.";
}


Ejemplo 2: Eliminar múltiples directorios recursivamente


Si necesitas eliminar un directorio junto con su contenido, deberás primero eliminar los archivos y subdirectorios en su interior antes de eliminar el directorio principal:

function eliminarDirectorio($dir) {
if (!is_dir($dir)) {
return false;
}
$items = scandir($dir);
foreach ($items as $item) {
if ($item == '.' || $item == '..') {
continue;
}
$itemPath = $dir . "/" . $item;
if (is_dir($itemPath)) {
eliminarDirectorio($itemPath);
} else {
unlink($itemPath);
}
}
return rmdir($dir);
}

$dir = "./directorio_con_contenido/";
if (eliminarDirectorio($dir)) {
echo "Directorio eliminado: $dir";
} else {
echo "Error al eliminar el directorio.";
}


Conclusión


Este artículo ha explicado las funciones clave en PHP para la gestión de directorios, con ejemplos detallados y fáciles de entender. Las funciones mkdir(), , getcwd() y rmdir() son poderosas herramientas para gestionar estructuras de directorios en tus aplicaciones PHP. Con esta base, podrás crear, cambiar y eliminar directorios según sea necesario en tus proyectos.
+34 012 345 678
+34 012 345 678 (fax)
example@superhispano.com
Creado con WebSite X5
Regreso al contenido