Navegar por directorios.

Kr4n3oK

Otra preguntilla, que no me aclaro leyendo por ahi.
Ya tengo abierto el directorio principal con ftp en php, pero y ahora como puedo moverme por los subdirectorios¿?
He probado bastantes cosas, pero no llegar a enganchar, la cosa seria, hacer un link por ejemplo abrir directorio y que de ahi me liste lo que hay dentro del directorio elegido.
Gracias, me vale cualquier pista.xd

NeB1
function listar_directorios_ruta($ruta){
   // abrir un directorio y listarlo recursivo
   if (is_dir($ruta)) {
      if ($dh = opendir($ruta)) {
         while (($file = readdir($dh)) !== false) {
            //esta línea la utilizaríamos si queremos listar todo lo que hay en el directorio
            //mostraría tanto archivos como directorios
            //echo "<br>Nombre de archivo: $file : Es un: " . filetype($ruta . $file);
            if (is_dir($ruta . $file)){
               if($file!="." && $file!=".."){
                   //solo si el archivo es un directorio, distinto que "." y ".."
                   echo "<br>Directorio: $ruta$file";
                   listar_directorios_ruta($ruta . $file . "/");
               }
            }
            else{
                 //Entonces es un archivo:
                 echo "<br>Archivo:$ruta$file";
            }
         }
      closedir($dh);
      }
   }else
      echo "<br>No es ruta valida";
} 

Puede tener errores sintácticos,que no lo he testeao, pero más o menos...

Kr4n3oK

Gracias por el código, lo estoy estudiando, una cosa.
¿Eso deberia embeberlo dentro del html no ?

NeB1

#3 dentro del php, o bien dentro del html pero por supuesto entre las cláusulas <?php y ?> :S

Kr4n3oK

Hombre claro joder, me refiero a este ejemplo
<ahref="<?php
function listar_directorios_ruta($ruta){
// abrir un directorio y listarlo recursivo
if (is_dir($ruta)) {
if ($dh = opendir($ruta)) {
while (($file = readdir($dh)) !== false) {
//esta línea la utilizaríamos si queremos listar todo lo que hay en el directorio
//mostraría tanto archivos como directorios
//echo "<br>Nombre de archivo: $file : Es un: " . filetype($ruta . $file);
if (is_dir($ruta . $file)){
if($file!="." && $file!=".."){
//solo si el archivo es un directorio, distinto que "." y ".."
echo "<br>Directorio: $ruta$file";
listar_directorios_ruta($ruta . $file . "/");
}
}
else{
//Entonces es un archivo:
echo "<br>Archivo:$ruta$file";
}
}
closedir($dh);
}
}else
echo "<br>No es ruta valida";
}
?>

Abrir directorio</a>

No se si asi funcionara, creo que si no?

LR

No, seria mas bien asi:



function listar_directorios_ruta($ruta){
   // abrir un directorio y listarlo recursivo
   if (is_dir($ruta)) {
      if ($dh = opendir($ruta)) {
         while (($file = readdir($dh)) !== false) {
            //esta línea la utilizaríamos si queremos listar todo lo que hay en el directorio
            //mostraría tanto archivos como directorios
            //echo "<br>Nombre de archivo: $file : Es un: " . filetype($ruta . $file);
            if (is_dir($ruta . $file)){
               if($file!="." && $file!=".."){
                   //solo si el archivo es un directorio, distinto que "." y ".."
                   echo "<br><a href\"=$ruta$file\">Directorio: $ruta$file</a>";
                   listar_directorios_ruta($ruta . $file . "/");
               }
            }
            else{
                 //Entonces es un archivo:
                 echo "<br>Archivo:$ruta$file";
            }
         }
      closedir($dh);
      }
   }else
      echo "<br>No es ruta valida";
} 


O al menos eso creo xD

No lo he probado, ahora lo pruebo y te digo

Kr4n3oK

Claro eso es lo que tengo, pero la idea es que al darle a Abrir archivo con el htrml realize todo ese programa

LR

lo que deberias hacer es crearte un .php con el codigo y crear el enlace a el, pero no lo de <a href"=<?php . . . .">

En todo caso seria

<a href"=listado.php">Listado</a>

Lo que puse antes no le hagas caso, ya que lo entendi mal y encima, esta mal lo que modifique xD

Kr4n3oK

ok thx, cuando llege a casa le metere caña aver si me tira.
Gracias y saljudos

Usuarios habituales

  • Kr4n3oK
  • LR
  • NeB1