Comunidad PHPeros

Lenguajes => PHP => Tutoriales PHP => Mensaje iniciado por: nmartin021 en 05 de Agosto de 2011, 15:58:23 pm

Título: [Tutorial] Manejar directorios con PHP
Publicado por: nmartin021 en 05 de Agosto de 2011, 15:58:23 pm
FuncionDescripcionSintaxis
opendirAbre un directorio y asigna el identificador a la variable $path$path = dir('/micarpeta/')
readdirCon open se abre, y con read se muestra en pantallareaddir($path)
rmdirElimina un directorio previamente abierto con opendirrmdir($path)
mkdirCrea un directorio, la primera var es para el nombre y la segunda, los permisos (0-777)mkdir($nombre, $permisos)
rewindirSirve para subir un directorio hacia arriba
closedirCierra el directorio abiertoclosedir($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 (http://www.php.net/manual/en/ref.filesystem.php)

Me he basado en este artículo (http://www.desarrolloweb.com/articulos/935.php)
Título: Re:[Tutorial] Manejar directorios con PHP
Publicado por: Habbolippo en 05 de Agosto de 2011, 20:38:55 pm
Muchas gracias ^^