J'essaie d'autoriser l'utilisateur à delete images
à partir d'un dossier sur le serveur à travers html form
et PHP
.PHP/HTML - problème avec la gestion des formulaires - unlink() avertissement
Voici mon balisage de formulaire html
avec le script PHP générant la liste images
à partir du dossier mentionné précédemment. J'ai ajouté des cases à cocher avec le chemin + nom de fichier comme value
.
<form action="delete.php" method="POST">
<div id="formlist">
<?php
$path = ".";
$dh = opendir($path);
$i=1;
$images = glob($path."*.png");
while (($file = readdir($dh)) !== false) {
if($file != "." && $file != ".." && $file != "index.php" && $file != "form.css" && $file != ".htaccess" && $file != "error_log" && $file != "cgi-bin") {
echo "<div class='formshow'><a href='$path/$file' data-lightbox='Formularze' data-title='$file'><img class='formimg' src='$path/$file' width='500px'/></a><input type='checkbox' name='deleteform' value='$path/$file'></div>";
$i++;
}
}
closedir($dh);
?>
</div>
<input type="submit" value="Usun zaznaczone formularze">
</form>
Maintenant, voici mon fichier delete.php
:
<?php
$path = ".";
$dh = opendir($path);
$i=1;
$deletepath = glob('deleteform');
while (($file = readdir($dh)) !== false) {
unlink($deletepath);
$i++;
}
?>
Je garde cette erreur:
Warning: unlink() expects parameter 1 to be a valid path, array given
Je suis tout à fait vert avec PHP, donc je décidé de vous demander les gars - comment Puis-je faire ce travail? Devrais-je unserialize()
et ajouter [0]
, [1]
compteurs?
'vardump' votre $ deletepath d'abord et assurez-vous que ce n'est pas un tableau mais une chaîne. –
@BagusTesa, peu importe combien de cases à cocher je vérifie, je reçois toujours ' chaîne (20) "./1492033022form.png"' –
* peu importe combien de cases à cocher je vérifie, * - bien, lisez la [légendaire question sur plusieurs checkbox input] (http://stackoverflow.com/questions/4997252/get-post-from-multiple-checkboxes) encore? basiquement, change 'type = 'case à cocher' name = 'deleteform' valeur = '$ chemin/$ fichier'>' à 'type = 'checkbox' nom = 'deleteform []' valeur = '$ chemin/$ fichier'>' - Votre paramètre sera alors un tableau et vous pourrez le boucler. –