Cancellare file con PHP
Per cancellare dei file con PHP basterebbe la funzione unlink().
Facciamo allora dierttamente un passo e vediamo come sia possibile cancellare più insieme.
Supponiamo di avere una pagina che carica tutte le immagini di una determinata cartella.
Nel link postato possiamo vedere come fare a caricare automaticamente le immagini.
Partendo da quello. e apportando qualche modifica, arriviamo a una cosa del genere:
<table>
<form action="" method="post" enctype="multipart/form-data" name="form_elimina">
<tr>
<td>
</td>
<td>
<input type="submit" value="Elimina" name="elimina_img" />
</td>
</tr>
<?php
$dirname = "../gallery";
$images = scandir($dirname);
sort($images);
foreach ($images as $file) {
if ((substr($file, -5) == ".jpeg") || (substr($file, -4) == ".jpg") || (substr($file, -5) == ".JPEG") || (substr($file, -4) == ".JPG") || (substr($file, -4) == ".png")) {
echo <<<HTML
<tr>
<td>
<input type="checkbox" name="check[]" value="$file" />
</td>
<td>
<img src="../gallery/$file" alt="" oncontextmenu="return false;" style="border: 1px solid black;" />
</td>
</tr>
HTML;
}
}
?>
</form>
</table>
Abbiamo intabellato la pagina e aggiunto un form e una checkbox.
La riga importante è proprio quella della checkbox; se guardate bene gli ho dato come nome "check[]", con la parentesi, e come valore il nome del file ($file).
Le parentesi sono importanti in quanto è come "se stesse usando un array" (detta in parole povere).
A questo punto quando facciamo il submit del form:
<?php
if ($_SERVER['REQUEST_METHOD'] == "POST" && isset($_POST['elimina_img'])) {
$check = $_POST['check'];
foreach ($check as $delete) {
if (unlink("../gallery/" . $delete)) {
header('location: index.php');
} else {
echo 'Errore';
}
}
}
Facciamo un ciclo sui valori che ci manda la checkbox.
Per ogni valore trovato usiamo la funzione unlink().
Due cose da tenere a mente:
- impostate un sistema per il quale l'utente deve essere sicuro di cancellare; la classica finestrella Javascript con scritto "Sei sicuro di voler cancellare i files?"
- tenete la pagina protetta, sennò chiunque può accederci e cancellare il tutto facendo danni
Ciauz!!
php unlink javascript checkbox
Commentami!