删除php中的特定文件

时间:2015-11-04 19:03:50

标签: php file

我正在练习在php中上传和删除文件,但我遇到了问题。

我有这段代码:

if($files)
{
    foreach($files as $file)
    {
        echo '<a href="files_storage/'.$file.'" download>'.$file.'</a><br>';
    }
}
else
{
    echo 'There are currently no files.';
}

显示目录中的所有文件。我想为每个文件添加一个删除按钮。像这样:

enter image description here

我应该为每个文件创建不同的表单吗?如果我这样做,在提交表单时如何识别要删除的文件?有什么建议吗?

1 个答案:

答案 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.';
}