在PHP中删除文件

在PHP中删除文件,php,forms,loops,Php,Forms,Loops,希望你们能帮我,因为我真的被这件事缠住了 我正在制作CMS的一部分,用户可以在其中查看、上传和删除存储在目录中的图像。但是当用户单击delete时,它只删除目录中的最后一个图像。当用户单击“删除”时,似乎无法获取图像的名称 以下是我目前掌握的代码: if (isset($_POST['deletebutton'])){ $link = "../../images/gallery/".$_POST['id']; unlink($link); } if ($handle = opendir('..

希望你们能帮我,因为我真的被这件事缠住了

我正在制作CMS的一部分,用户可以在其中查看、上传和删除存储在目录中的图像。但是当用户单击delete时,它只删除目录中的最后一个图像。当用户单击“删除”时,似乎无法获取图像的名称

以下是我目前掌握的代码:

if (isset($_POST['deletebutton'])){
$link = "../../images/gallery/".$_POST['id'];
unlink($link);
}

if ($handle = opendir('../../images/gallery')) {
    while (false !== ($entry = readdir($handle))) {
        if ($entry != "." && $entry != "..") {
            echo "<div class='photobox'><img src='../../images/gallery/".$entry."' class='img'><input type='hidden' value='".$entry."' name='id'><input type='submit' class='deletebutton' name='deletebutton' value='Delete'></div>";
        }
    }
    closedir($handle);
}
?>
if(设置($\u POST['deletebutton'])){
$link=“../images/gallery/”$\u POST['id'];
取消链接($link);
}
如果($handle=opendir('../../images/gallery')){
while(false!==($entry=readdir($handle))){
如果($entry!=“&&&$entry!=”){
回声“;
}
}
closedir($handle);
}
?>

提前感谢

您可能需要将每组
包装在单独的
标签中。如果PHP看到多个具有相同名称的输入,则只接受最后一个输入。例如

<form method="get" action="#">
  <input type="hidden" name="foo" value="bar" />
  <input type="submit" />
  <input type="hidden" name="foo" value="baz" />
  <input type="submit" />
</form>


无论您单击哪个提交,浏览器都会将表单编码为
?foo=bar&foo=baz
,PHP将按顺序读取该表单,并留给您
$\u请求['foo']=='baz'

确保文件权限允许删除该文件