• User Attivo •

    Funzione mkdir

    Ciao a tutti.
    Volevo spiegarmi il perchè la funzione sottoscritta mi funziona solo la prima volta che la eseguo e inoltre come faccio ad assegnargli il nome della cartella proveniente da un form?
    Ecco il codice:
    <?php
    $path = "C:/FoxServ/www/datagame.com";
    function mk_dir($path, $rights = 0777)
    {
    $folder_path = array(
    strstr($path, '.') ? dirname($path) : $path);
    while([EMAIL="!@is_dir(dirname(end($folder_path"]!@is_dir(dirname(end($folder_path[/EMAIL])))
    && dirname(end($folder_path)) != '/'
    && dirname(end($folder_path)) != '.'
    && dirname(end($folder_path)) != '')
    array_push($folder_path, dirname(end($folder_path)));
    while($parent_folder_path = array_pop($folder_path))
    if([EMAIL="!@mkdir($parent_folder_path"]!@mkdir($parent_folder_path[/EMAIL], $rights))
    user_error("Non é possibile creare la directory "$parent_folder_path".");
    }
    // qui il nome della directory lo deve prendere da un form
    mk_dir('esempio/prova_3/config.php');
    mk_dir('esempio/prova_4');
    ?>

    Ringrazio comunque e sempre


  • User Attivo •

    Domanda stupida: prima della seconda esecuzione, cancelli le cartelle che hai creato con la prima?


  • User Attivo •

    La funzione che hai postato serve per creare tutte le sottodirectory passategli come parametro. Probabilmente ti funziona solo la prima volta perchè la seconda trova la directory esempio già creata.
    Per passargli come parametro un parametro di un form è sufficiente che fai un form di tipo post che punta al tuo file con un campo testo:

    <input type=text name=dir>

    e chiami:

    mk_dir($_POST['dir']);


  • User Attivo •

    Ho postato il nome della directory
    $dir = strip_tags($_POST['dir']);
    // CREO LA CARTELLA
    $path = "C:/FoxServ/www/nomedir/";
    $all = $path.$dir;
    mkdir($all, 0700);
    // CARTELLA CREATA

    Grazie