成功后收到 unlink() 错误

Receiving unlink() error after it has been successful

这可能是一个非常愚蠢的问题,但在代码成功删除文件后我收到以下错误,我无法弄清楚为什么,代码非常简单它获取文件的名称和路径从数据库中删除,然后删除它。

代码:

$getFiles = mysql_query("SELECT * FROM tempFiles WHERE pTID='$passedId'");
$numFiles = mysql_num_rows($getFiles);

for ($f=0;$f<$numFiles;$f++) {

    $fileName = mysql_result($getFiles,$f,"fileName");
    $deleteFile = "../../".$fileName;
    unlink($deleteFile);

}

警告:取消链接(../../files/projects/files/643115.jpg):没有那个文件或目录

删除文件的脚本在 scripts/php/thefile 中,文件在 files/projects/files/thefile 中,所以 ../../ 是绝对需要的,而我认为这不是问题告诉。我知道文件已被成功删除,因为在我 运行 脚本之后它不再位于文件夹中,所以我不知道是什么导致了错误。

知道我可能会收到错误的原因吗?

提前致谢。

错误的可能原因:

  • tempFiles table 中有超过 1 条记录具有相同的 fileName,因此第一次尝试将其删除,第二次尝试导致错误。
  • 当您 运行 脚本时,文件夹中不存在该文件(如@AxelAmthor 在评论中所说)

要解决它,只需添加验证(如@Sammitch 在评论中所说):

if (is_file($deleteFile)) {
    unlink($deleteFile);
}