我正在尝试使用这段简单的代码来遍历“导出”文件夹并删除超过 24 小时的文件:
if ($handle = opendir("/home/username/public_html/en/graphs/export")) {
while (false !== ($file = readdir($handle))) {
$filelastmodified = filemtime($file);
if((time() - $filelastmodified) > 24*3600)
{
unlink($file);
}
}
closedir($handle);
}
一些注意事项:
1)我确实意识到有类似的问题,但那里建议的解决方案似乎对我不起作用。2)目录的绝对路径是正确的(经过测试) 3)目录有777权限。其中的文件没有,但我用一些具有 777 权限的文件进行了测试,并且发生了同样的错误。因此,这似乎不是权限问题。4) 包含此代码的文件位于不同的目录中(这是一个 cron 作业,我喜欢将它们放在一个单独的目录中)
这是出现的错误(对于目录中的每个文件):
Warning: filemtime() [function.filemtime]: stat failed for countries_rjRp9.png in /home/username/public_html/path-to-crons/crons/exports.php on line 12
Warning: unlink(countries_rjRp9.png) [function.unlink]: No such file or directory in /home/username/public_html/path-to-crons/crons/exports.php on line 16
在此示例中,countries_rjRp9.png
是应该从export
目录中取消链接的文件之一。
这里发生了什么?