Просмотр поста

.
~XeOn~

Функция автоочистки папки через определенное время

$dir = 'cache/'; //папка, которую чистим
$cleanTime = '24'; //период очистки в часах
function clearDirRec ($dir, $cleanTime)
{
    while($file = array_diff(scandir($dir), array('.', '..', '.htaccess'))) { //читаем папку
        if(is_dir($dir . $file)) { //если полученый результат - папка, то рекурсивно чистим и ее
            clearDirRec($dir . $file); //то рекурсивно чистим и ее
            rmdir($dir . $file); //удаляем папку
        }
        else {
            unlink($dir . $file); //удаляем файл
        }
    }
}
if(file_exists($dir . 'lastclean.dat') && @filemtime($dir . 'lastclean.dat') < (time() - $cleanTime * 3600)) {
    clearDirRec($dir);
}
else {
    file_put_contents($dir . 'lastclean.dat', 1);
}