unlink不适用于变量,但适用于确切的路径

时间:2013-07-14 04:49:13

标签: php variables post unlink

绝对路径适用于unlink():

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

但这不起作用。

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

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

这里有解决方法吗?谢谢。

2 个答案:

答案 0 :(得分:1)

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

根据你的说法,

unlink('images/filename.jpg');

工作得很好。然后,我看不出其他代码无法正常工作的原因。

执行以下操作:     $ image_id = trim($ _ POST [&#34; image_id&#34;]);

在删除文件之前,请检查文件是否存在,这样,您就可以确定错误所在的位置。

$image_url = "images/{$image_id}";
if(file_exists($image_url)){
    unlink($image_url);
} else {
    die('file does not exist');
}

答案 1 :(得分:0)

尝试:

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

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