【发布时间】:2016-05-27 17:51:20
【问题描述】:
对于文件管理,我使用foreach 循环,其中显示所有文件。现在我想让foreach 删除带有$_POST 的文件。
当我在每个文件附近的 foreach 中回显 pathinfo($dir.'/'.$file, PATHINFO_DIRNAME).'/'.$file; 时,它会显示文件的确切位置。
现在对于每个文件,我想在 foreach 循环中执行类似的操作:
if(isset($_POST['delete'])) {
unlink($_POST['unlink']);
}
<form method="post">
<input type="hidden" name="unlink" value="<?php pathinfo($dir.'/'.$file, PATHINFO_DIRNAME).'/'.$file; ?>" />
<input type="submit" name="delete" value="Delete">
</form>
我知道这是不正确的,但我希望你明白我想要实现的目标是明确的。 我该怎么做?
【问题讨论】:
-
而且你认为这不会有坏的结局吗?
-
添加
echo会实际打印路径怎么样?顺便说一句,完全不安全 -
您希望一次删除一个文件还是多个文件?
-
这段代码会发生什么?
-
认真重新考虑你在做什么。您至少需要:身份验证、csrf 保护和目录遍历保护。
标签: php unlink file-management