Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027

    [quesito della susi] readdir e ricorsività

    Ciao, sto impazzendo con questa cosa...

    Voglio fare una funzione che si richiama ricorsivamente in modo da infilare in un array l'alberatura di una dir.
    Per rendere + chiaro il quesito faccio un esempio:
    da una dir cosi formata:
    codice:
    .
    |-- index.php
    |-- dettaglio.php
    |-- include
    |   |-- config.inc.php
    |   `-- style.css
    `-- svuota_sess.php
    vorrei ottenere un array cosi:

    codice:
    Array( 
         [0] index.php
         [1] dettaglio.php
         [2] svuota_sess.php
         [include] array ( 
                         [0] config.inc.php
                         [1] style.css
                         )
    )
    naturalmente il tutto fatto in modo dinamico.

    sto brancolando nel buio, potete darmi anche solo uno spunto?

    Ciao
    e grazie

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    http://it2.php.net/manual/it/function.readdir.php


    guarda i commenti degli utenti
    think simple think ringo

  3. #3
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    li ho visti, ma mi sembra che tutti riportino a un livello solo.
    Io vorrei che fosse dinamico anche nel numero di sottolivelli.

    Ciao

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    [rettifica]
    Codice PHP:
    <?php
    function ls($dir){
       
    $handle opendir($dir);
       for(;(
    false !== ($readdir readdir($handle)));){
           if(
    $readdir != '.' && $readdir != '..'){
               
    $path $dir.'/'.$readdir;
               if(
    is_dir($path))    $output[$readdir] = ls($path);
               if(
    is_file($path))    $output[] = $readdir;
           }
       }
       return isset(
    $output)?$output:false;
       
    closedir($handle);
    }

    print_r(ls('.'));
    Questa fa proprio al caso mio!

    Grazie

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.