我想允許用戶通過html form
和PHP
從服務器上的文件夾delete images
。PHP/HTML - 問題與表單處理 - unlink()警告
這裏是我的html
表格標記以及前面提到的文件夾中的PHP腳本生成列表images
。我已經添加了路徑+文件名爲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>
現在,這裏是我的delete.php
文件:
<?php
$path = ".";
$dh = opendir($path);
$i=1;
$deletepath = glob('deleteform');
while (($file = readdir($dh)) !== false) {
unlink($deletepath);
$i++;
}
?>
我把這個錯誤:
Warning: unlink() expects parameter 1 to be a valid path, array given
我很綠色,使用PHP,所以我決定問你們 - 怎麼樣我可以做這個工作嗎?我應該unserialize()
它並加[0]
,[1]
計數器?
'vardump'你的'$ deletepath'首先確保它不是一個數組而是一個字符串。 –
@BagusTesa無論我檢查多少個複選框,我總是會得到' string(20)「./1492033022form.png」' –
*無論我檢查多少個複選框,* - 好,請閱讀[multiple複選框輸入](http://stackoverflow.com/questions/4997252/get-post-from-multiple-checkboxes)呢?基本上,將'type ='checkbox'name ='deleteform'value ='$ path/$ file'>'改爲'type ='checkbox'name ='deleteform []'value ='$ path/$ file'>' - 你的參數將是一個數組,然後你可以將其循環。 –