You should add an is_file() check, because PHP normally lists . and .., as well as sub-directories that could reside in the the directory you’re checking.
Also, as this answer suggests, you should replace the pre-calculated seconds with a more expressive notation.
<?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);
}
}
}
?>
Alternatively you could also use the DirectoryIterator, as shown in this answer. In this simple case it doesn’t really offer any advantages, but it would be OOP way.