Я сильно запутался в различных функциях даты и форматах в php, поэтому я хотел бы попросить о помощи, если это возможно.
Я пытаюсь найти файлы, которые были изменены между двумя датами, но синтаксис меня сбивает с толку. Например, если я пытался найти файлы, измененные между 6 месяцев и 1 год назад, я попытался:
$yearago = new DateTime("now"); date_sub($yearago, date_interval_create_from_date_string("1 year")); $sixmonthsago = new DateTime("now"); date_sub($sixmonthsago, date_interval_create_from_date_string("6 months")); $dir = '/datacore/'; $files1 = scandir($dir); foreach($files1 as $key => $value) { $datemod = filemtime($value); if ($datemod>$yearago && $datemod<$sixmonthsago) // eg between 6 and 12 months ago { // Do stuff } }
Я знаю, что это неэффективно; найдя массив имен файлов в каталоге, а затем перейдя через этот массив в filemtime, но в будущем это будет работать, но его сочетание даты и DateTime меня смутило.