> Faqs > Listar archivos de diferentes carpetas

Listar archivos de diferentes carpetas

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:

<span class="codigo"> [PHP]
$creado=mkdir("../../presupuestos/$param");
[/PHP]
</span>
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:

<span class="codigo"> [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>\\n"; echo "<br>\\n"; echo "<tr><td><span class='Estilo2'>Presupuesto: $archivo</span></td><td></tr>"; echo "<br>\\n"; 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\] </span>

Respuestas

Hola, mira probé tu código y está muy bien, lo que hice fue crear una carpeta que se llama presupuestos, dentro de esa carpeta otras 2 carpetas 16 y 18, dentro de 16 un archivo 1.html y dentro de 18 2 archivos 2.html y 3.html, luego al ejecutar tu finción mandadole el 16 ovtube presupuesto: 1.html Eliminar Archivo Y luego le mande el id 18 y salió presupuesto: 2.html Eliminar Archivo presupuesto: 3.html Eliminar Archivo Al no mandar ningún parametro en el GET obtuve presupuesto: 16 Eliminar Archivo presupuesto: 18 Eliminar Archivo Por lo que los más probable sea que no está llegando bien el id de la carpeta que deseas listar. Espero haber podido resolver tu problema. Saludos

Cristian Avila Montalvo