【发布时间】:2018-02-12 21:55:08
【问题描述】:
这个小问题毁了我的一天。我无法通过 PHP unlink 函数删除文件。我正在创建 PHP 表单来更新和编辑 pdf 文件。下面是我的html表单和PHPunlink脚本。
HTML
<form method="post" action="#" enctype="multipart/form-data">
<input type="file" value="<?php echo $row['img']?>" name="image">
<input type="submit" name="update">
</form>
PHP
<?php
if(isset($_POST['update']) && ($_FILES['image']['name'])){
$image=$_POST['image'];
unlink('../pdf/services/'.$image);
}
?>
【问题讨论】:
-
$_POST['image']来自哪里? -
非常不安全! apache有写权限吗?路径是否正确且文件存在?
-
你得到的 unlink 的返回值是多少?可能是权限问题。使用
chmod设置适当的权限。 -
如果
image是<input type="file">,则您正在寻找$_FILES['image']['name']而不是$_POST['image']。但请围绕此添加一些安全检查。 -
如果我在“图片”键中发布
../../../../../../../../../../../../../../../../../../etc/passwd会发生什么?
标签: php forms post dynamic unlink