我有download-ui.php,其中包含一些代码,该代码会排除某些内容并列出目录中的所有其他文件,然后对它们进行排序并为每个文件分配一个复选框。
<?php
$files = array();
$dir = opendir('.');
while(false != ($file = readdir($dir))) {
if(($file != ".") and ($file != "..") and ($file != "download-ui.php") and ($file != "error_log") and ($file != "favicon.ico")) {
$files[] = $file;
}
}
natcasesort($files);
foreach ($files as $file) {
echo '<li class="browse-file">
<div class="select-all-col"><input name="select[]" type="checkbox" class="select" value="'.$file.'"/></div>
<div class="file-name-col"><a href="download-ui.php?name='.$folderName."/".$file.'" style="cursor: pointer;">'.$file.'</a></div>
<br />
</li>';
}
?>
我试图弄清楚如何获取复选框值,以便可以使用unlink()
删除这些文件(如果选中)。
我知道我需要一个表单,但需要语法帮助并捕获表单的值,这是我到目前为止所做的。
<form id="delete" action="delete.php" method="post">
<button type="submit" form="delete" value="Submit">Submit</button>
<input name="select[]" type="checkbox" class="select" value="'.$file.'"/>
</form>
然后对于delete.php我有
<?php?
foreach ($_post['select[]'] as $file) {
if(file_exists($file)) {
unlink($file);
}
elseif(is_dir($file)) {
rmdir($file);
}
}
echo "Files deleted successfully.";
?>
我认为我的问题是输入<input name="select[]" type="checkbox" class="select" value="'.$file.'"/>
我在最近的努力中遇到的错误是{。}}在delete.php
答案 0 :(得分:1)
你想循环浏览$ _POST [&#39; select&#39;]的每一项,所以你的foreach应该说:
foreach ($_POST['select'] as $file) {
}
请注意,POST是大写的,而select没有数组括号。