可能重复:
How to delete files from directory based on creation date in php?
如何删除php中24小时或更长时间的文件夹中的所有图像?
答案 0 :(得分:4)
$imagePattern = "/\.(jpg|jpeg|png|gif|bmp|tiff)$/";
$directory = ".";
if (($handle = opendir($directory)) != false) {
while (($file = readdir($handle)) != false) {
$filename = "$directory/$file";
if (strtotime("-24 hours") <= filemtime($filename) && preg_match($imagePattern, $filename)) {
unlink($filename);
}
}
closedir($handle);
}
答案 1 :(得分:3)
如果您使用的是* nix,请将其发送到shell并find:
shell_exec('find /path/to/your/directory -mtime +0 -exec rm -f {} \;');
答案 2 :(得分:1)
答案 3 :(得分:1)
另一种解决方案是使用包含unix时间戳的命名约定,如果你可以控制它。
答案 4 :(得分:0)
shell_exec('find /path/to/files* -mtime +1 -exec rm {} \;');