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 ($c, 1);
?>
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.