Foros del Web » Programando para Internet » PHP »

script que devuelva un array de directorios?

Estas en el tema de script que devuelva un array de directorios? en el foro de PHP en Foros del Web. Busco un script que devuelve un array con la estructura de los directorios, solo los directorios de tal forma que con un foreach y un ...
  #1 (permalink)  
Antiguo 25/03/2008, 11:30
 
Fecha de Ingreso: febrero-2007
Mensajes: 134
Antigüedad: 17 años, 2 meses
Puntos: 2
script que devuelva un array de directorios?

Busco un script que devuelve un array con la estructura de los directorios, solo los directorios de tal forma que con un foreach y un select el cliente escoja el directorio a coger...

yo le paso getestructura("d:/")
y que devuelva algo asi:

/
/dir1
/dir1/subdir1
/dir2
/dir3
/dir3/subdir2


asi lo puedo poner en un select de un form y que el cliente escoja que directorio quiere volcar...
  #2 (permalink)  
Antiguo 25/03/2008, 11:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: y un script que devuelva un array de directorios?

Puedes usar este script:
Código PHP:
function filelist ($startdir="./"$searchSubdirs=1$directoriesonly=0$maxlevel="all"$level=1) {
    
//list the directory/file names that you want to ignore
    
$ignoredDirectory[] = ".";
    
$ignoredDirectory[] = "..";
    
$ignoredDirectory[] = "_vti_cnf";
    global 
$directorylist;    //initialize global array
    
if (is_dir($startdir)) {
        if (
$dh opendir($startdir)) {
            while ((
$file readdir($dh)) !== false) {
                if (!(
array_search($file,$ignoredDirectory) > -1)) {
                 if (
filetype($startdir $file) == "dir") {
                       
//build your directory array however you choose;
                       //add other file details that you want.
                       
$directorylist[$startdir $file]['level'] = $level;
                       
$directorylist[$startdir $file]['dir'] = 1;
                       
$directorylist[$startdir $file]['name'] = $file;
                       
$directorylist[$startdir $file]['path'] = $startdir;
                       if (
$searchSubdirs) {
                           if (((
$maxlevel) == "all") or ($maxlevel $level)) {
                               
filelist($startdir $file "/"$searchSubdirs$directoriesonly$maxlevel$level 1);
                           }
                       }
                   } else {
                       if (!
$directoriesonly) {
                           
//if you want to include files; build your file array 
                           //however you choose; add other file details that you want.
                         
$directorylist[$startdir $file]['level'] = $level;
                         
$directorylist[$startdir $file]['dir'] = 0;
                         
$directorylist[$startdir $file]['name'] = $file;
                         
$directorylist[$startdir $file]['path'] = $startdir;
      }}}}
           
closedir($dh);
}}
return(
$directorylist);

Luego para ver la estructura de un directorio puedes hacer:
Código PHP:
$dirlist filelist"/"1);
var_dump$dirlist ); 
Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:51.