Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24
  1. #1

    Cancellare file in una directory (unlink)

    Ciao a tutti!
    Ho realizzato uno pagina php per uploadare dei file (qualsiasi estensione e peso) in una cartella che si chiama "materiali " così è possibile inviarmi i file tramite browser.
    E' questo funziona.

    Ora tento di realizzare qualcosa che per cancellare i file in questa cartella da browser (senza accedere via ftp al server).

    Questo il codice della pagina:
    <?php
    if ($handle = opendir("./materiali")) {
    while (false !== ($file = readdir($handle))) {
    if ($file != "." && $file != "..") {
    echo "- $file
    ";

    }
    }
    closedir($handle);
    }
    ?>
    <form method=POST action=cancella.php? enctype=multipart/form-data>
    Nome del file da cancellare:<input type=\"text\" size=\"30\" maxlength=\"256\" name=\"$file\">

    <input type="submit" name="submit" value="delete">
    </form>

    Questo il codice di cancella.php:
    <?php
    echo "- &file
    ";
    if (unlink("./materiali/$file")) {
    echo "eliminazione riuscita";
    } else {
    echo "eliminazione fallita";
    }
    ?>

    E' evidente che sbaglio!
    Il file cancella.php da solo funziona, ovvero se invece di $file scrivo il nome di un file presenta nella cartella e lo faccio agire, il file viene cancellato.

    Ma se tento di passare la variabile inserendola nel form... la variabile si perde per strada .

    Help me!
    ***Janka***

  2. #2
    inizia con il mettere qualche echo $file qua e la nel codice per vedere dov'è che perdi il valore (o magari è solo sbagliato)
    Il Ticino è biancoblù
    DVDS delegato ufficiale

  3. #3
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    devi usare l'array $_POST:
    codice:
    $_POST['file']

    think simple think ringo

  4. #4
    Ho letto su altre discussioni del forum che devo usare
    $_POST['file']

    ...ma non sono abbastanza esperta per capire dove metterlo.

    <form method=POST action=cancellaA.php? enctype=multipart/form-data>
    Nome del file da cancellare:<input type=\"text\" size=\"30\" maxlength=\"256\" name=\"$_POST['file'] \">

    <input type="submit" name="submit" value="delete">
    </form>

    io l'ho messo in questo pezzo di codice... ma non deve essere esatto vero?!

    Buono anche il succerimento di usare echo per capire dove perdo la variabile.
    L'ho usato in testa a cancella.php... ma la variabile non viene vista.

    Temo mi serva ancora il vostro aiuto...
    grazie.
    ***Janka***

  5. #5
    <form method=POST action=cancella.php enctype=multipart/form-data>
    Nome del file da cancellare:<input type=\"text\" size=\"30\" maxlength=\"256\" name=\"file\">

    <input type="submit" name="submit" value="delete">
    </form>


    <?php
    echo "- &file
    ";
    if (unlink("./materiali/".$_POST['file'])) {
    echo "eliminazione riuscita";
    } else {
    echo "eliminazione fallita";
    }
    ?>
    prova un po
    Windoz XP è un evento statistico, quindi il fatto che funzioni è un'evento del tutto casuale

  6. #6
    Grazie per la dritta... ma non funziona.
    Ho inserito il tuo codice, mi genera quest'errore (errore che vedo da m olti giorni... )

    Warning: unlink(./materiali/): Is a directory in /web/htdocs/www.miosito.it/home/cancellaA.php on line 3
    eliminazione fallita

    Dove sto sbagliando?????
    grazie.
    ***Janka***

  7. #7
    up
    ***Janka***

  8. #8
    non passa ancora la variabile
    infatti cerca di eliminarti la cartella e nn il file
    prova come ti ho detto ha mettere qualche echo $_POST['file'] per vedere dov'è che perdi il valore
    Il Ticino è biancoblù
    DVDS delegato ufficiale

  9. #9
    Hai ragione Triky... il problema è la variabile!
    Ho provato a mettere echo $_POST['file']; in testa a cancella.php ma non stampa niente.
    Quindi la variabile non arriva a cancella.php, supponendo che l'errore sia nel form ho fatto diverse prove (tutte con scarso successo).

    <form method=POST action=cancellaA.php? enctype=multipart/form-data>
    Nome del file da cancellare:<input type=\"text\" size=\"30\" maxlength=\"256\" name=\"$_POST['file'] \">

    <input type="submit" name="submit" value="delete">
    </form>

    Ho pensato di aver scritto male il "name" (sbaglio o è lui che determina il nome della variabile?!!!) ed ho provato scrivendo:
    name=\"$_GET['file'] \"
    name=\"$file] \"
    name=\"file \"

    Ora che ho mostrato tutta la mia ignoranza in materia... vi chiedo di nuovo aiuto .
    ***Janka***

  10. #10
    dimmi una cosa....usi apache o iis?
    se usi iis: installazione cgi o isapi?
    Il Ticino è biancoblù
    DVDS delegato ufficiale

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.