Функция filemtime () позволит вам проверить дату последнего изменения файла. То, что вам нужно будет делать, это запускать вашу работу cron
каждую минуту и проверять, превышает ли она пороговое значение, и unlink()
делать это при необходимости.
$time = 30; //in minutes, time until file deletion threshold
foreach (glob("app/temp/*.tmp") as $filename) {
if (file_exists($filename)) {
if(time() - filemtime($filename) > $time * 60) {
unlink($filename);
}
}
}
Это должен быть самый эффективный метод, как вы и просили, измените пороговое значение cron на 10 минут, если вам нужна меньшая точность при наличии большого количества файлов.