Вы должны добавить проверку is_file()
, поскольку PHP обычно перечисляет .
и ..
, а также подкаталоги, которые могут находиться в каталоге, который выВы проверяете.
Кроме того, поскольку этот ответ предполагает , вы должны заменить предварительно рассчитанные секунды более выразительными обозначениями.
<?php
$files = glob(cacheme_directory()."*");
$now = time();
foreach ($files as $file) {
if (is_file($file)) {
if ($now - filemtime($file) >= 60 * 60 * 24 * 2) { // 2 days
unlink($file);
}
}
}
?>
В качестве альтернативы вы также можетеиспользуйте DirectoryIterator
, , как показано в этом ответе .В этом простом случае это на самом деле не дает никаких преимуществ, но это будет ООП.