Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/01/2010, 18:08
aitormartin
 
Fecha de Ingreso: enero-2010
Mensajes: 8
Antigüedad: 14 años, 3 meses
Puntos: 0
Listar directorios (problema con el array??)

Hola a todos, tengo un problema al cual le he dado bueltas y bueltas y no se solucionarlo:

Quiero listar los directorios de un ubicación cuan dos los muestro mediante echo "$link ".$_SESSION["cont"]."<br>"; puedo ver la ruta relativa completa, pero cuando meto esos datos dentro de un array, al mostrar el contenido del array, solo puedo ver el primer nivel de directorios, ya que el resto no se guardan.

Alguna sujerencia??

Gracias.

El codigo:


Código PHP:
<?php
    session_start
();            //Iniciamos la sesión
?>


<?php
function debug_array($miarray$die=0)
    {
    
// Muestro el esquema del array
    
echo "<pre> ";
    
print_r($miarray);
    echo 
"</pre> ";
    
// Detengo la ejecución
    
if($die) die();
    }




function 
listar_directorios($ruta)
    {
//    $cont = 0;
    // abrir un directorio y listarlo recursivo
    
if (is_dir($ruta))
        {
        if (
$dh opendir($ruta))
            {
            while ((
$file readdir($dh)) !== false)
                {
                if (
is_dir($ruta $file) && $file!="." && $file!="..")
                    {
                    
//solo si el archivo es un directorio, distinto que "." y ".."
                    
$link $ruta.$file;
                    echo 
"$link  ".$_SESSION["cont"]."<br>";
                    
$array_directorios[$_SESSION["cont"]] = $link;
                    
$_SESSION["cont"]++;
                    
listar_directorios($link "/");
                    }
                }
                
closedir($dh);
            }
        }
        else
        {
        echo 
"<br>No es ruta valida";
        }
    return 
$array_directorios;
    }

$_SESSION["cont"] = 0;

$c listar_directorios("./"); 

debug_array ($c1);
?>

El resultado que obtengo es :

./pic 0
./data 1
./doc 2
./lib 3
./templates 4
./apps 5
./apps/inicio 6
./apps/inicio/lib 7

Array
(
[0] => ./pic
[1] => ./data
[2] => ./doc
[3] => ./lib
[4] => ./templates
[5] => ./apps
)

./apps/inicio 6 y ./apps/inicio/lib 7 no se han insertado en el array.

Gracias.