• 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