Foros del Web » Programando para Internet » PHP »

imprimir directorio y subdirectorio

Estas en el tema de imprimir directorio y subdirectorio en el foro de PHP en Foros del Web. Se que este es un tema ya muchas veces tratado. Y he leído algunos post con propuestas. También he realizado más de una vez esta ...
  #1 (permalink)  
Antiguo 01/03/2010, 19:07
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
imprimir directorio y subdirectorio

Se que este es un tema ya muchas veces tratado. Y he leído algunos post con propuestas. También he realizado más de una vez esta tarea. Pero es que a la hora de volver a realizarla para otro proyecto me enredo.

Tengo plateada esta función recursiva para leer un directorio y sus subdirectorios. La condición es que se impriman primero las carpetas, y luego lor archivos. Por esto, almaceno los archivos en un array.

Lo que logro es listar los archivos de la carpeta raíz, pero de los de los subdirectorios ni noticias:

Cita:
// imprimo el arbol.

function listar_directorios($leer){

$puntos = array('.', '..');
$item = array_diff(scandir($leer), $puntos); // quito subdirectorios "." y ".."

foreach($item as $elemento) {

$ruta = $leer.$elemento;

if (is_file($ruta) and strpos($elemento, "_thumb_") === FALSE) {
$files[] = '<li><span class="file">'.$elemento.'</span>';
}

elseif (is_dir($ruta)) {
echo '<li class="closed"><span class="folder">'.$elemento.'</span>
<ul>';

listar_directorios($ruta);

echo '</ul>
</li>';
};
}

if (!empty($files)) {
foreach($files as $archivo) { echo $archivo; }
};

};

listar_directorios($base);
Agradecería alguna luz.

Última edición por mayid; 01/03/2010 a las 19:18
  #2 (permalink)  
Antiguo 01/03/2010, 21:23
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: imprimir directorio y subdirectorio

Encontre que me faltaba cerrar unos <li>

ADemas, y lo mas importante, al bucle le faltaba una simple barra para separar el directorio del nombre del archivo:

listar_directorios($ruta."/");

Etiquetas: directorio, subdirectorio
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:21.