Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Creare una struttura ad albero con le cartelle

    buongiorno, allora, ho una funzione che divide una stringa nelle lettere che la compongono e una volta divisa dovrei creare una cartella e all'interno tante cartelle per quante sono le lettere , ho usato questo codice e funziona ma crea tante cartelle separate, mentre il mio scopo è creare una struttura
    esempio

    ciao.jpg

    c cartella madre
    i cartella dentro c
    a cartella dentro i
    0 cartella dentro o

    la funzione che uso è la seguente

    codice HTML:
    $img='immagina.jpg';
     
         
    
    for ($i = 0; $i < strlen($img) - 4; $i++) {
        echo mkdir($img[$i],0777,true) . "<br>";
    }
    Questa funzione mi crea tante cartelle ma non la struttura che voglio io, come posso modificarla? grazie per l'aiuto in antnicipo

  2. #2
    Sposto in PHP
    “Che le cose siano cosi, non vuol dire che debbano andare così. Solo che quando si tratta di rimboccarsi le maniche e incominciare a cambiare, vi è un prezzo da pagare. Ed è allora che la stragrande maggioranza preferisce lamentarsi più che fare”.

    Giovanni Falcone

  3. #3
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606
    Una volta creata una cartella, ci entri dentro e crei la cartella successiva e poi ci entri dentro e crei... insomma una funzione ricorsiva che va avanti fino a quando non è finita la parola ( una qualsiasi stringa in PHP è un array che inizia da 0, quindi ciao è unguale ad un array così composto c[0],i[1],a[2],o[3] quindi basta ciclare per la lunghezza della frase ).

  4. #4
    Ragazzi scusate sto per impazzire : ho provato così

    for ($i = 0; $i < strlen($img) - 4; $i++) {
    echo mkdir($img[$i],0777,true);
    opendir($img[$i]);
    }

    Ma crea sempre singole cartelle e non cartelle ramificate, dove sbaglio?

  5. #5
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606
    Te l'ho detto all'inizio, devi creare una funzione ricorsiva ( ricorsiva = che richiama se stessa ) che crea le sottocartelle e appena ne ha creata una ci entra dentro e crea la successiva.

    Te la indico in pseudo codice:

    nome cartella
    limite = lunghezza nome cartella
    init = 0
    function creaCartelle()
    begin
    global nome cartella, init, limite
    crea cartella( nome cartella )
    cambiaDir( nome cartella )
    init++
    se init <= limite
    begin
    creaCartelle()
    end
    end
    Ultima modifica di Marcolino's; 27-04-2016 a 07:43

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.