我正在练习在php中上传和删除文件,但我遇到了问题。
我有这段代码:
if($files)
{
foreach($files as $file)
{
echo '<a href="files_storage/'.$file.'" download>'.$file.'</a><br>';
}
}
else
{
echo 'There are currently no files.';
}
显示目录中的所有文件。我想为每个文件添加一个删除按钮。像这样:
我应该为每个文件创建不同的表单吗?如果我这样做,在提交表单时如何识别要删除的文件?有什么建议吗?
答案 0 :(得分:0)
您可以将所有提交按钮放在一个表单中,并将每个按钮的name属性设置为delete[' . $file . ']
。然后,在循环开始时,检查是否设置了$_POST['delete'][$file]
并将其删除。
if(!empty($files)){
echo '<form action="" method="post">';
foreach($files as $file){
if(isset($_POST['delete'][$file]) && file_exists($file)){
unlink($file);
continue;
}
echo '<a href="files_storage/'.$file.'" download>'.$file.'</a><input type="submit" name="delete[' . $file . ']" value="Delete this file" /><br>';
}
echo '</form>';
}
if(empty($files)){ //check again, since $files may be empty after deletion
echo 'There are currently no files.';
}