Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/03/2008, 11:35
Avatar de GatorV
GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 20 años, 4 meses
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, 1 );
var_dump( $dirlist ); 
Saludos.