2

绝对路径与 unlink() 一起使用:

<?php
     unlink('images/filename.jpg');
?>

但这不起作用。

<?php
    $image_id = $_POST['image_id'];
    unlink('images/'.$image_id)
?>

文件权限没问题,脚本可以读、写和执行。尝试使用单引号和双引号,它适用于绝对文件路径,但不适用于从 $_POST[] 传递的变量。

这里有什么解决方法吗?谢谢你。

4

2 回答 2

3

可能会稍微清理一下您的查询参数。不确定,但是当我尝试了多种变体的代码时,它工作得非常完美!

照你说的,

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');
}
于 2013-07-14T05:10:27.920 回答
0

尝试:

<?php
    $image_id = $_POST['image_id'];
    unlink('./images/'.$image_id)
?>

在目录名称中的图像前添加“./”。

于 2013-07-14T05:04:09.733 回答