Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2013
    Messaggi
    28

    cancellazionee rinominazione di un file

    Ciao, ho trovato su internet uno script php che mi permette di scegliere un file da una cartella, successivamente vorrei richiamare una funzione php ( a seconda della scelta nel menu ) che mi permetta di cancellare o rinominare il file , il mio dubbio è: come dico alla funziona php che l elemento da modificare è il file scelto in precedenza? posto i codici:

    Codice scelta file

    <form action="deleteonto.php" method="post"
    enctype="multipart/form-data">
    <label for="file">Filename da cancellare:</label>
    <input type="file" name="file" id="file">

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

    in che variabile salvo il file?come posso richiamare il file in un altra funzione php esterna? grazie e scusate le tante domande

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Ti basta sapere il percorso e il nome del file, all'interno di una data cartella, con quel nome ci sarà un solo file, quello che interessa a te.

    Alla funzione esterna puoi passare percorso e nome del file come una semplice stringa.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2013
    Messaggi
    28
    il problema è che io ho piu file nella cartella, e devo poter scegliere quale cancella, per quewsto non posso passargli l indirizzo fisso ma quello che scelgo tramite il form!

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Ho capito, ma se il form ti invia il nome del file da cancellare, tu passa quello alla funzione di cancellazione, che nella cartella ci siano altri file non ti deve importare, tu agisci solo sul nome che arriva dal form.

    Sai come si recuperano dati provenienti da un form?

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2013
    Messaggi
    28
    non riesco a capire come lo vorresti fare, riesci a modificarmi il codice?
    quello per esempio della cancellazione che vorrei usare è questo:

    <?php
    $nome_file= $_POST=['file'];
    $directory="./";
    unlink ($directory.$nome_file) or die ('impossibile eliminare il file');
    echo $file_name."è stato eliminato";
    ?>

    grazie mille

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Esattamente come hai scritto tu, ma il percorso fino al file deve essere giusto.
    Come hai scritto tu, il file da cancellare si trova nella stessa cartella dello script php, si trova veramente lì?
    Se si trova lì, non te lo cancella? In tal caso potrebbe essere un problema di diritti sul file.

    Ti viene fuori un errore? Cosa dice?

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2013
    Messaggi
    28
    Notice: Array to string conversion in C:\xampp\htdocs\prova\deleteonto.php on line 4

    Warning: unlink(./Array): No such file or directory in C:\xampp\htdocs\prova\deleteonto.php on line 4
    impossibile eliminare il file

    questo è l'errore che mi appare, comunque si il file si trova nella cartella dello script!

  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Non avevo notato il type, questo
    <input type="file" name="file" id="file">

    fa arrivare allo script un array contenente i dati del file, non solo il nome come stringa, si usa per gli upload e dovresti anche specificare nel tag <form> enctype='multipart/form-data'

    a quel punto puoi leggere il nome del file con $_FILES['file']['name']
    ma non è così che bisogna affrontare il tuo problema, perché questo richiede che sul pc di chi richiede la cancellazione ci sia un file con lo stesso nome di quello da cancellare.

    Tu dovresti mostrare a video i nomi dei file contenuti nella cartella e proporre di fianco ad ogniuno un pulsante "delete", oppure mettere un checkbox di fianco ad ogni nome ed un solo pulsante submit, in modo che si possano cancellare più file in un colpo solo.

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2013
    Messaggi
    28
    potresti farmi un esempio del codice che dovrei usare??

  10. #10
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Farti un esempio vorrebbe dire scrivere il codice completo, quindi no.

    Ti dico però come procedere.
    Leggi i file contenuti nella cartella con la funzione scandir(), con questi generi un form nel quale metti dei checkbox di fianco al nome di ogni file, il name dei checkbox deve essere per esempio name='file[]', è importante che ci siano le quadre, così i dati a php arriveranno come array.

    Come value del checkbox metti il nome del file.

    Lo script php dovrà eseguire il codice per la cancellazione che hai scritto prima all'interno di un ciclo foreach sull'array $_POST['file'].

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.