Je crée un lien qui ajoute une variable $ _GET à la fin pour l'utilisation de la suppression de fichiers/autres tâches PHP.
<a href="test.php?delete_file=<?php echo $filename; ?>">Delete file</a>
Une partie de mon code PHP recherche la variable et si elle existe, elle exécute la fonction unset pour supprimer le fichier, mais quand je recharger la page Web, il essaie évidemment de supprimer à nouveau le fichier. Est-il possible de supprimer le $ _GET après qu'il a été exécuté une fois pour arrêter le traitement après une actualisation?
<?php
if (isset($_GET['delete_file'])) {
if (file_exists($full_path.$_GET['delete_file'])) {
unlink($_GET['delete_file']);
} else {
echo "File ".$full_path.$_GET['delete_file']." doesn't exist";
}
}
?>
<a href="test.php?delete_file=<?php echo $filename; ?>">Delete file</a>
Vous pouvez ajouter ce 'header (" Location: test.php ");' après 'unlink'. –
J'espère que vous avez des mesures de sécurité plus fortes en place, de sorte que seuls les très très très personnes de confiance peuvent supprimer des fichiers, et non d'une manière CSRF ... – johannes
@johannes, oui, tout est pris en charge dans le script ainsi que seulement certains utilisateurs obtiennent cette permission (super utilisateurs) –