PHP - listar ficheros de diferentes carpetas

 
Vista:

listar ficheros de diferentes carpetas

Publicado por Begoña (7 intervenciones) el 18/06/2008 14:09:38
Hola a tod@s:

Tengo carpetas en el servidor que se crean al insertar un usuario en la base de datos y se nombran con el id del usuario con la siguiente instrucción:

[PHP]
$creado=mkdir("../../presupuestos/$param");
[/PHP]

El problema viene a la hora de listar esos archivos.

Tengo dos dos carpetas en el servidor:

carpeta 16 con el archivo: "ejemplo1.htm"
y

carpeta 18 con los archivos: "ejemplo2.htm2" y "ejemplo3.htm"

A la hora de listar los resultados obtengo:

Presupuesto: 16
Eliminar este archivo

Presupuesto: 18
Eliminar este archivo

Me falta un archivo. ¿qué estoy haciendo mal?

El código es el siguiente:

[PHP]
<?

$param = $_GET['id'];
function leerDirectorio($cual)
{
$directorio = opendir($cual);
while ($item_del_directorio = readdir($directorio))
{
$archivos[] = $item_del_directorio;
}

closedir($directorio);
return $archivos;
}


function generarReporte($directorio)
{
// Leo las imágenes del directorio
$archivos_en_directorio = leerDirectorio($directorio);
// bucle para listar el contenido


foreach($archivos_en_directorio as $archivo)
{
if($archivo != "." && $archivo != ".." && $archivo != "Thumbs.db" && $archivo != "_notes")
{

//Para cada vuelta del bucle
$rutaCompletaAlFicheroAEliminar = "../../presupuestos/$param/$archivo";
//el fichero eliminar.php lleva el unlink
echo "<br> ";
echo "<br> ";
echo "<tr><td><span class='Estilo2'>Presupuesto: $archivo</span></td><td></tr>";
echo "<br> ";
echo "<tr><td><a href='borrar_archivo.php?archivo=$rutaCompletaAlFicheroAEliminar' class='Estilo2'>Eliminar este archivo</a></td></tr>";

}
}

}

//esto te lista los ficheros del directorio

generarReporte("../../presupuestos/$param");
?>
[/PHP]

[HTML]
<br /><br />
<table>
<tr><td class="Estilo2"><a href='../directorio/utabla_prueba.php'>Volver</a></td></tr>
</table>
[/HTML]

Mil gracias,
Begoña
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:listar ficheros de diferentes carpetas

Publicado por Diego Romero (1450 intervenciones) el 20/06/2008 01:08:45
Esta es mi versión:

<?php
function LeerDir($cual) {
$lista = Array();
if ($dirhandle = opendir($cual)) {
while (false !== ($archivo = readdir($dirhandle))) {
if ($archivo != "." and $archivo != "..") {
$lista[] = $archivo;
}
}
closedir($dirhandle);
}
return $lista;
} // LeerDir

$listaarch = LeerDir("nombre_del_directorio_a_ser_listado");
if ($listaarch !== false) {
foreach($listaarch as $item) {
echo $item."<br>";
}
}
?>

La lista generada no discrimina directorios.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar