Funcion | Descripcion | Sintaxis |
opendir | Abre un directorio y asigna el identificador a la variable $path | $path = dir('/micarpeta/') |
readdir | Con open se abre, y con read se muestra en pantalla | readdir($path) |
rmdir | Elimina un directorio previamente abierto con opendir | rmdir($path) |
mkdir | Crea un directorio, la primera var es para el nombre y la segunda, los permisos (0-777) | mkdir($nombre, $permisos) |
rewindir | Sirve para subir un directorio hacia arriba | |
closedir | Cierra el directorio abierto | closedir($path) |
Nota: Al usar
opendir se crea un objeto
$path (o el nombre que le hayas puesto a la variable), que se puede usar así:
echo $path->path(); //muestra el directorio actual de ese objeto
echo $path->read(); //muestra los archivos y/o carpetas que hay, aca lee el directorio
$path->rewind(); //sube un directorio hacia arriba. Ej: si estamos en /mi/carpeta, sube a /mi
$path->close(); //cierra la "conexión" al archivo, es como se cerrases una carpeta en tu SO
Ejemplos creados por mí:
Mostrar directorio:
<?php
$directorio = opendir('/'); //mostrar la raíz
echo '<h1>Directorios y archivos</h1>';
//voy a usar while y readdir(), que mueve el puntero interno para poder recorrer los datos
while($d = readdir($directorio)){ //uso el objeto antes creado
echo '<a href="/'.$d.'">'.$d.'</a><br>'; //pongo a para que esté linkeado
}
closedir($directorio); //cierro la conexión o carpeta
?>
Borrar directorio:
<?php
$directorio = opendir('/'); //mostrar la raíz o carpeta en la que está
if(isset($_GET['nombre'])){ //si está el nombre a borrar (sólo carpetas)
rmdir($_GET['nombre']) or die('Hubo un error'); //solo borrará si el directorio está vacío
}else{
echo '<h1>Directorios y archivos</h1>';
//voy a usar while y readdir(), que mueve el puntero interno para poder recorrer los datos
while($d = readdir($directorio)){ //uso el objeto antes creado
echo '<a href="/'.$d.'">'.$d.'</a>'.(is_dir($d)) ? '<a href="?nombre='.$d.'"><span style="color: red; font-weight: bold;">X</span></a>' : ''.'<br>'; //pongo a para que esté linkeado, y para que se pueda borrar
}
closedir($directorio); //cierro la conexión o carpeta[/size]
}
?>
Para más información, visita este enlace
Me he basado en este artículo