Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/03/2015, 13:19
volaveruntmissit
 
Fecha de Ingreso: octubre-2012
Mensajes: 45
Antigüedad: 12 años
Puntos: 0
Buscar en subdirectorios y ordenar variable sin importar el subdirectorio

Que tal! Encontré 2 funciones que necesitaba.

La primera: Buscar dentro de subdirectorios y enlistar los archivos. Ya está.
La segunda: Ordenar esos archivos segun una variable interna. Ya está.

(En la segunda, aún tengo un poco de conflictos, y este es el post por si alguien me ayuda:
http://www.forosdelweb.com/f18/enlis...iable-1122442/
)

Entonces, me arrojan resultados así:

Dir/Subdir-1/archivo4.txt
Dir/Subdir-1/archivo1.txt
Dir/Subdir-2/archivo7.txt
Dir/Subdir-2/archivo10.txt
Dir/Subdir-3/archivo5.txt
Dir/Subdir-3/archivo2.txt



Ahora solo necesito que esos archivos sean ordenados sin importar el directorio, por que cuando los ordeno, queda algo así:


Dir/Subdir-1/archivo1.txt
Dir/Subdir-1/archivo4.txt

Dir/Subdir-2/archivo7.txt
Dir/Subdir-2/archivo10.txt

Dir/Subdir-3/archivo2.txt
Dir/Subdir-3/archivo5.txt


Lo que necesito es que los ordene sin importar el subdirectorio, justo asi;


Dir/Subdir-1/archivo1.txt
Dir/Subdir-3/archivo2.txt
Dir/Subdir-1/archivo4.txt
Dir/Subdir-3/archivo5.txt
Dir/Subdir-2/archivo7.txt
Dir/Subdir-2/archivo10.txt



La funcion que utilizo es esta:

Código:
$ruta = "Dir/";
if (is_dir($ruta)) { if ($dh = opendir($ruta)) { while (($carpeta = readdir($dh)) !== false) {  
if (is_dir($ruta . $carpeta) && $carpeta!="." && $carpeta!=".."){

$directorio = $carpeta;
if ($gestor = opendir($directorio))
{
    $list=array();
    while (false !== ($arch = readdir($gestor)))
    {
        if ($arch != "." && $arch != "..")
        {
            $list[$arch] = $arch;
        }
    }
    arsort($list); 
    foreach($list as $fileName)	{		

	echo "$fileName<br>";    

	}
closedir($gestor); } } } closedir($dh); } }
Gracias por la ayuda!