这可能是一个非常愚蠢的问题,但是在代码成功删除了文件之后,我得到了以下错误,并且我不知道为什么,代码非常简单,它获取要从数据库删除的文件的名称和路径,然后删除它。
代码:
$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);
}警告: unlink(../../files/projects/files/643115.jpg):没有这样的文件或目录
删除文件的脚本位于脚本/php/thefile中,文件位于文件/project/files/thefile中,因此肯定需要././,而不是我所能知道的问题。我知道文件正在被成功删除,因为在我运行脚本之后它不再在文件夹中,所以我不知道是什么导致了错误。
知道我为什么会犯这个错误吗?
提前谢谢你。
发布于 2015-05-08 17:46:38
可能导致错误的原因:
tempFiles表中有多条具有相同fileName的记录,所以第一次尝试删除它,第二次尝试导致错误。要解决这个问题,只需添加一个验证(如@Sammitch在评论中所说):
if (is_file($deleteFile)) {
unlink($deleteFile);
}https://stackoverflow.com/questions/30129469
复制相似问题