绝对路径与 unlink() 一起使用:
<?php
unlink('images/filename.jpg');
?>
但这不起作用。
<?php
$image_id = $_POST['image_id'];
unlink('images/'.$image_id)
?>
文件权限没问题,脚本可以读、写和执行。尝试使用单引号和双引号,它适用于绝对文件路径,但不适用于从 $_POST[] 传递的变量。
这里有什么解决方法吗?谢谢你。
可能会稍微清理一下您的查询参数。不确定,但是当我尝试了多种变体的代码时,它工作得非常完美!
照你说的,
unlink('images/filename.jpg');
工作正常。然后,我看不出其他代码不起作用的原因。
做类似的事情: $image_id = trim($_POST["image_id"]);
在删除文件之前,请检查该文件是否存在,这样您就可以确定错误出在哪里。
$image_url = "images/{$image_id}";
if(file_exists($image_url)){
unlink($image_url);
} else {
die('file does not exist');
}
尝试:
<?php
$image_id = $_POST['image_id'];
unlink('./images/'.$image_id)
?>
在目录名称中的图像前添加“./”。