我希望用户能够通过单击复选框并提交表单来删除文件 标题中的某处:
foreach ($_POST ['files'] ['deleteFile'] as $value)
{
unlink ($value);
$fileError = '¡Éxito!';
}
身体某处:
<form enctype="multipart/form-data" method="post" name="files">
<!-- No action attribute was added as the form is processed in the same file -->
<?php
foreach (glob ('files/*.*') as $file)
{
echo $file . '<input name="deleteFile" type="checkbox" value="' . $file . '">';
}
?>
<input type="submit" value="Confirmar">
</form>
答案 0 :(得分:2)
因为您在名为$_POST
的{{1}}超级全局中没有密钥。假设您希望将所选复选框的值添加到files
数组中,则应使用以下代码:
$_POST
请注意,我们称之为<form method="post">
<?php
foreach (glob ('files/*.*') as $file)
{
echo $file . '<input name="deleteFile[]" type="checkbox" value="' . $file . '">';
}
?>
<input type="submit" value="Confirmar" />
</form>
字段。方括号告诉PHP处理与数组同名的所有字段。现在,我们可以使用deleteFile[]
循环遍历每个值,如下所示:
foreach()
请注意,此类请求不需要foreach ($_POST['deleteFile'] as $value)
{
unlink ($value); // or you might need unlink('files/'.$value);
$fileError = '¡Éxito!';
}
属性。另外,PHP不像JS。表单的名称与enctype
中的值无关。