【问题标题】:PHP unlink error - path errorPHP取消链接错误 - 路径错误
【发布时间】:2013-09-27 06:51:12
【问题描述】:

我使用与其他人相同的语法,但是...我无法让它工作。

我已经尝试了很多从目录中取消链接文件的选项。

总结: delete.php(执行操作的文件)位于主文件夹中。 要删除的文件(图像)在子目录“upload”下。

$file = $name . '.' . $ext; 

$tmpfile = 'upload/'. $file; 
unlink($tmpfile);

也比这一个。

if (!unlink("upload/$file")) {
    echo "Error deleting ... $file  ... from directory";
}
else {
    echo "Deleted $file";
}

还有更多。 这是错误日志

unlink(upload/Glauber_3232_MAGNOLIA_ST__016.jpg) [function.unlink]: 第 30 行 /home2/braaasil/public_html/openhouse/delete.php 中没有这样的文件或目录

因此,我无法退出主目录(delete.php 所在的位置)并转到我的图像所在的子目录“上传”。 任何建议将不胜感激。

编辑

public_html

   openhouse (sub domain)

      delete.php (this is a file)

      upload (this is sub folder)

如果不清楚,我可以拍张照片。 delete.php 和子文件夹上传在同一级别,都是 openhouse 的孩子。希望这很清楚。

【问题讨论】:

  • 您确定文件 /home2/braaasil/public_html/openhouse/upload/Glauber_3232_MAGNOLIA_ST__016.jpg 存在吗?请注意,文件名区分大小写。
  • 你试过"../upload/$file" 吗?
  • 不是说这是你的问题,但你应该始终使用基于当前目录的相对路径:__DIR__ . '/upload/' . $file。因为有时当前的工作目录不是你想象的那样。
  • 我试过 "../upload/$file" 问题是它试图在 delete.php 中找到每个错误消息中的文件 ../delete.php/my_image_to_be_delete.jpeg

标签: php unlink


【解决方案1】:

您的脚本没有问题,但我认为您的应用程序路径错误,因此无法在上传文件夹下找到指定文件。

我认为您使用的是子文件夹,但 upload 指向根文件夹,因此找不到该文件夹​​。

试试:unlink (__DIR__ . '/upload/' . $file);

如果可以的话,你也可以这样使用:"./upload/$file"

【讨论】:

  • @PeeHaa;你可能在我自己编辑时编辑了我的评论。
  • @Imaqtpie 这又错了 - __DIR__ 没有尾部斜杠。
  • @GeorgeBrighton 抱歉,它被意外覆盖了。我已经添加了。
  • 我是 PHP 新手,请原谅我的无知。我在那里使用了你的脚本。没变。又得到了这个。 “/home2/braaasil/public_html/openhouse/delete.php 中没有这样的文件或目录”由于某种原因我无法得到这个:home2/braaasil/public_html/openhouse/upload/(然后要删除的图像)“
  • 是的,它是一个子文件夹。 delete.php 在主文件夹中。图片位于名为“upload”的 sulfolder 中。
【解决方案2】:

对不起! 出于某种原因,尽管我对所有条目都有命令 strtolower,但 DB 开始同时接受 image.jpg 和 image.JPG。

图像正在被此问题中发布的代码删除。我真的很感谢你的时间,并再次道歉。

对于所有其他人:确保 DB、文件和搜索全部设置为小写,因为 DB 可能区分大小写。

【讨论】:

    猜你喜欢
    • 2021-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-04
    • 1970-01-01
    • 2013-11-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多