Ответ на мыло:
Решить данную задачу можно различно, имея ввиду конкретный код. Это может быть как процедурный стиль, так и объектно ориентированный, используя традиционные for, while, ... или итераторы, используя различные функции работы с файловой системой.
То что я написал, это один из примеров. В нем используется
функция glob, которая находит пути удовлетворяющие шаблону. В коде показанном в качестве шаблона указывается * (любое имя), то есть если есть каталог в котором создаются папки пользователей (в коде это условно имя path), то
glob($dir.'*', GLOB_ONLYDIR)
получит имена всех каталогов в этом каталоге (GLOB_ONLYDIR - получить только каталоги, без их файлов).
А в цикле, если текущее время минус время создания папки более указанного периода (определено в переменной $check), то также функцией glob получаются все файлы уже этого каталога - path/текущий_каталог_в_итерации, и также по маске *.
В каких значениях нужно получить период для сравнения можно задать в методе format('%формат_вывода'). О том как задается формат вывода времени читайте в функции
date.
Чтобы иметь представление о том, что возвращает функция
date_diff, запустите этот код положив его в один корень с каталогом в котором каталоги пользователей:
echo '<pre>';
$dir = array_map(function($d) {
$diff = date_diff(date_create('now'), date_create(date('Y-m-d H:i', filemtime($d)))); //объект содержащий информацию о разности двух дат
$diff->name_dir = $d; //дополнительно вставлено в объект - имя каталога пользователя
return $diff;
}, glob('path/*', GLOB_ONLYDIR)); //заменить path на реальное имя каталога
print_r($dir);