Visualizzazione dei risultati da 1 a 6 su 6

Discussione: file del sottoalbero

  1. #1

    file del sottoalbero

    C'è una funzione che mi restituisca tutti i file (e relativi percorsi) presenti nel sottoalbero radicato in una directory data?

  2. #2
    Utente bannato
    Registrato dal
    Sep 2005
    Messaggi
    905
    te la devi creare. a te serve listare i file in una cartella?

  3. #3
    a me serve listare tutti i file presenti nel sottoalbero radicato nella directory data.

  4. #4
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    function read_dir($dir) {
    $array = array();
    $d = dir($dir);
    while (false !== ($entry = $d->read())) {
    if($entry!='.' && $entry!='..') {
    $entry = $dir.$entry;
    if(is_dir($entry)) {
    $array = array_merge($array, read_dir($entry.'/'));
    } else {
    $array[] = $entry;
    }
    }
    }
    $d->close();
    return $array;
    }

    Using:
    print_r(read_dir('/home/'));

    [.:: JaguarXF ::.]
    __________________

  5. #5
    non mi fido di quel "merge"... quindi preferisco la mia funzione ricorsiva:

    codice:
    function list_dir($dir)
    {
      //il secondo argomento è opzionale (serve solo per la ricorsione):
      $args = func_get_args();
      if(isset($args[1]))
        $lista = $args[1];
      
      //scorriamo la dir attuale:
      $dp = opendir($dir);
      while($file = readdir($dp))
      {
        if($file != '..' and $file != '.' and $file != '')
        { 
          //se è un file, lo aggiungiamo alla lista:
          if(is_file($dir . '/' . $file))
          {
            if(isset($lista))
              $lista[count($lista)] = $dir . '/' . $file;
            else
              $lista[0] = $dir . '/' . $file;
          }
          
          //se è una directory, andiamo ricorsivamente a scorrerla:
          if(is_dir($dir . '/' . $file))
          {
            if(isset($lista))
              $lista = list_dir($dir . '/' . $file, $lista);
            else
              $lista = list_dir($dir . '/' . $file);
          }
        }
      }
      
      return $lista;
    }

  6. #6
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    Io ho solo riportato la funzione descritta in php.net.
    Poi vedi tu che farne..

    [.:: JaguarXF ::.]
    __________________

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.