Cancellare un file caricato in questa maniera potrebbe essere arduo, visto che non rimane traccia di alcun riferimento.
Ad ogni modo, puoi leggere la cartella dove salvi i file con GLOB().
Questa funzione ritorna un array con i nomi dei file che trova nella cartella di lettura.
Per ottenere una lista di file, con dei riferimenti per cancellarne singolarmente uno per volta, devi ciclare l'array e costruire un link che punta ad una pagina che si occupa di effettuare l'unlink.
Ti spiego come con 2 righe di codice
Codice PHP:
<?php
// lista_files.php
$array_file = glob("upload/*.*");
foreach ($array_file AS $file) {
echo "<a href=\"cancella_file.php?nome_file=$file\">$file</a>
}
?>
È ovvio, spero, che in questa procedura, il nome di ogni singolo file sarà il contenuto dell'array.
Di seguito il listato dello script di cancellazione:
Codice PHP:
<?php
// cancella_file.php
$file = $_GET['nome_file'];
unlink("$file") OR DIE("Impossibile cancellare il file");
echo "File cancellato correttamente";
?>
Ho scritto qui di getto per cui potrebbero esserci dei problemini nello script che non ho considerato.
Spero però che tu abbia recepito il meccanismo.
Quello che mi va di sottolineare è che con questo metodo, si hanno dei limiti dovuti al nome del file: se ci sono per esempio, spazi o caratteri speciali, l'unlink potrebbe saltare.
Quando ottieni l'array dei file con il GLOB, mandalo in stampa con PRINT_R().
Non ricordo se nel nome del file è già compreso il path completo di cartella oppure no!