Ver Mensaje Individual
  #4 (permalink)  
Antiguo 30/12/2011, 08:26
Avatar de SetheR
SetheR
 
Fecha de Ingreso: enero-2009
Mensajes: 265
Antigüedad: 15 años, 10 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.