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