在php中删除特定文件

问题描述:

我正在练习上传和删除php中的文件,并且遇到了问题。在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

我应该为每个文件建立不同形式?如果我这样做了,如何在提交表单时确定要删除哪个文件?有什么建议么?

+0

那么你代码DELETE按钮,我们会告诉你什么添加到它来获得一个单一的PHP脚本来做删除。否则,这看起来更像是一个**规范**而不是**问题** – RiggsFolly

+0

我的回答对您有帮助吗? – Jonan

您可以将所有提交按钮放在一个表单中,并将每个按钮的名称属性设置为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.'; 
}