Foros del Web » Programando para Internet » PHP »

Buscar de forma recursiva

Estas en el tema de Buscar de forma recursiva en el foro de PHP en Foros del Web. ¡Hola! Estoy intentando crear un listado de imagenes que estan en la carpeta raiz y destro hay varias carpetas y subcarpetas. El problema es que ...
  #1 (permalink)  
Antiguo 30/12/2011, 08:17
Avatar de GameAndWatch  
Fecha de Ingreso: septiembre-2011
Mensajes: 56
Antigüedad: 13 años, 3 meses
Puntos: 1
Pregunta Buscar de forma recursiva

¡Hola!
Estoy intentando crear un listado de imagenes que estan en la carpeta raiz y destro hay varias carpetas y subcarpetas.
El problema es que no se como hacerlo,pues las carpetas subcarpetas pueden variar.
¿hay alguna manera para que busque de forma recursiva dentro de la carpeta "imagenes"?
Gracias de antemano por la respuesta.
__________________
Poco a poco,avanzando en Javascript....
  #2 (permalink)  
Antiguo 30/12/2011, 08:24
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: Buscar de forma recursiva

pues con una función recursiva ¿no?
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 30/12/2011, 08:25
Avatar de portalmana  
Fecha de Ingreso: septiembre-2007
Ubicación: Montevideo-Uruguay
Mensajes: 633
Antigüedad: 17 años, 2 meses
Puntos: 80
Respuesta: Buscar de forma recursiva

Esta clase quizás te sea de utilidad.

http://www.php.net/manual/es/class.r...ryiterator.php


Aparte aqui tengo una clase que recorre directorios

Saludos
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no" -- A.Einstein
objetivophp.com,twitter.com/objetivophp
  #4 (permalink)  
Antiguo 30/12/2011, 08:26
Avatar de SetheR  
Fecha de Ingreso: enero-2009
Mensajes: 265
Antigüedad: 15 años, 11 meses
Puntos: 44
Respuesta: Buscar de forma recursiva

Ejemplo sacado de la DOCUMENTACION

Código PHP:
Ver original
  1. <?php
  2. /*
  3.  * mrlemonade ~
  4.  */
  5.  
  6. function getFilesFromDir($dir) {
  7.  
  8.   $files = array();
  9.   if ($handle = opendir($dir)) {
  10.     while (false !== ($file = readdir($handle))) {
  11.         if ($file != "." && $file != "..") {
  12.             if(is_dir($dir.'/'.$file)) {
  13.                 $dir2 = $dir.'/'.$file;
  14.                 $files[] = getFilesFromDir($dir2);
  15.             }
  16.             else {
  17.               $files[] = $dir.'/'.$file;
  18.             }
  19.         }
  20.     }
  21.     closedir($handle);
  22.   }
  23.  
  24.   return array_flat($files);
  25. }
  26.  
  27. function array_flat($array) {
  28.  
  29.   foreach($array as $a) {
  30.     if(is_array($a)) {
  31.       $tmp = array_merge($tmp, array_flat($a));
  32.     }
  33.     else {
  34.       $tmp[] = $a;
  35.     }
  36.   }
  37.  
  38.   return $tmp;
  39. }
  40.  
  41. // Usage
  42. $dir = '/data';
  43. $foo = getFilesFromDir($dir);
  44.  
  45. print_r($foo);
  46. ?>

Recomiendo leer los aportes que hace la comunidad debajo de la especificación de la funcion/recurso. Muchas veces traen soluciones interesantes a problemas comunes.
  #5 (permalink)  
Antiguo 30/12/2011, 14:56
Avatar de GameAndWatch  
Fecha de Ingreso: septiembre-2011
Mensajes: 56
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: Buscar de forma recursiva

¡Gracias por la respuesta!
No me dí cuenta de que estaba puesto...¡Me funcionó!
__________________
Poco a poco,avanzando en Javascript....

Etiquetas: recursivo, busquedas
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 12:47.