Visualizzazione dei risultati da 1 a 5 su 5

Discussione: lista directories

  1. #1

    lista directories

    Ciao! Premetto fin d'ora che sono poco pratica di php. Ho una cartella che contiene un tot numero di sottodirectories e di file php e inc. Mi servirebbe uno script che stampi solo i nomi delle sottocartelle, ed escluda quelli degli altri files. Qualcuno può aiutarmi? Grazie di cuore in anticipo, e auguri a tutti.

  2. #2
    un po' di tempo fa m'ero fatto questa funzioncina ricorsiva che indenta anche rudimentalmente le directory in base alla profondità

    dovrebbe andarti bene


    Codice PHP:
    function dir_tree($path='.')
     {
      
    //contatore statico che indica la profondità del nodo correntemente analizzato
      
    static $deep
      
      if(!(
    $dir opendir($path))) return 0;
      
      while(
    $file readdir($dir))
          {
             
    //se il file letto è una directory diversa da "." e ".."
             
    if(is_dir("$path/$file") && ($file != '.') && ($file != '..'))
               {
                 
    //stampo dei caratteri di indentazione della direcrory corrente in base alla pofondità del nodo
                 
    for($j=0;$j<$deep;$j++) echo "----"
                     
                 echo 
    "$file
    "
    //stampo il nome della directory
                 
                 
    $deep++;//scendo di un livello
                 
    dir_tree("$path/$file"); //stampo l'albero della dir appena trovata
               
    }
          }     
      
    closedir($dir); //chiudo la dir          
     
      //torno ad analizzare il livello superiore
      
    $deep--;
      return 
    1;
     } 

  3. #3
    mmm... sembra non funzionare, mi stampa una pagina bianca.. poi magari sono io una incapace, non lo escludo
    ad ogni modo vorrei solo i nomi delle cartelle di primo livello e non di quelle di secondo livello..

  4. #4
    Originariamente inviato da perfekt
    mmm... sembra non funzionare, mi stampa una pagina bianca.. poi magari sono io una incapace, non lo escludo
    ad ogni modo vorrei solo i nomi delle cartelle di primo livello e non di quelle di secondo livello..
    quella è la dichiarazione della funzione.. per vedere qualcosa la dovresti invocare...

    e lo fai scrivendo, da qualche parte dopo la funzione:

    dir_tree();

    o opzionalmente con un path come parametro...


    se la vuoi che stampi solo il primo livello è ancora più semplice


    Codice PHP:
    function dir_tree($path='.')
     {

      if(!(
    $dir opendir($path))) return 0;

      while(
    $file readdir($dir))
          {
             
    //se il file letto è una directory diversa da "." e ".."
             
    if(is_dir("$path/$file") && ($file != '.') && ($file != '..')) echo "$file
    "
    //stampo il nome della directory

          
    }     
      
    closedir($dir); //chiudo la dir          
      
    return 1;
     } 

  5. #5
    funziona
    non mi sento ancora abituata a questi miracoli dell'informatica
    grazie mille ancora!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.