Supprimer des images d'un dossier via site php

Résolu
XaK - Modifié le 8 juil. 2020 à 18:20
 XaK - 9 juil. 2020 à 13:09
Bonjour,
J'essaye de créer un script pour pouvoir supprimer certaines images dans un fichier spécifique, à partir d'un menu déroulant.

J'ai réussi à créer la page, mais la suppression ne se fait pas.
Actuellement j'obtiens l'index avec $_POST mais je ne sais pas comment l'utiliser pour écrire le nom du fichier qui manque dans le path.

Voici le code :

 if( isset($_POST) AND !empty($_POST) ) {
$chemin="C:/wamp64/www/tests/fonds_ecran/$_POST[fichier]";
unlink("$chemin.JPG"); //Attention à l'extension du fichier à supprimer (doit être toujours identique)
}?>

<div class="container1">
<div class="wrap1">
<form id="form" method="post" action="suppression_template.php">
<span class="login_title">
Supprimer un Fond d'écran
</span>

<label><strong> Nom </strong></label>
<div class="wrap3" >
<select name="fichier" id="fichier">
<?php
$rep = opendir('C:\wamp64\www\tests\fonds_ecran');
if(!$rep)
exit;

$i = 0;
while($file = readdir($rep)){
if(($file !==".") && ($file !=="..")) {
echo '<option value="' . $value++ . '">' . $file . '</option>';
}
}
$_SESSION['template']=$_POST['fichier'];
closedir($rep);
?>
</select>

</div>

<div class="container2">
<button class="login_button_2" type="submit">
VALIDER
</button>
</div>


Le problème actuellement, est que si je sélectionne la 1ère image, le script va chercher le cheminC:/wamp64/www/tests/fonds_ecran/1.JPG, et non C:/wamp64/www/tests/fonds_ecran/nom_du_fichier_1.JPG

1 réponse

M3NSONG3 Messages postés 615 Date d'inscription mardi 16 avril 2013 Statut Membre Dernière intervention 4 novembre 2021 1
Modifié le 9 juil. 2020 à 13:03
Si tu ne pas faire la correspondance index<>nom du fichier, mets directement le nom du fichier dans l'attribut value de ta balise option.

Attention : Pense à vérifier que le fichier existe bien et que ce n'est pas n'importe quel fichier avant de faire une suppresion !

Exemple :
                        while($file = readdir($rep)){
                            if(($file !==".") && ($file !=="..")) {
                                echo '<option value="' . $file  . '">' . $file . '</option>';
                            }
                        }



1
C'est parfait, cela fonctionne ! Merci :)
0
Rejoignez-nous