| 
<?php
 $source = 'source';
 $target = 'not-swept';
 
 recursive_list($source, $target);
 
 function recursive_list($source, $target) {
 if(is_dir($source)) {
 if(!is_dir($target)) {
 mkdir($target);
 }
 $d = dir($source);
 while(FALSE !== ($entry = $d->read())) {
 if($entry == '.' || $entry == '..') {
 continue;
 }
 $Entry = $source . '/' . $entry;
 if(is_dir($Entry)) {
 $target_Entry = str_replace($source, $target, $Entry);
 recursive_list($Entry, $target_Entry);
 } else {
 if(is_recently_modifed($Entry)) {
 copy($Entry, str_replace($source, $target, $Entry));
 print($Entry . ' was recently modified.<br>');
 }
 }
 }
 $d->close();
 } else {
 if(is_recently_modifed($source)) {
 copy($source, $target);
 print($source . ' was recently modified.<br>');
 }
 }
 }
 
 function is_recently_modifed($filename) {
 $modified_string = date("F d Y H:i:s.", filemtime($filename));
 //print('$modified_string: ');var_dump($modified_string);
 preg_match('/([^\s]+) ([0-9]{2}) ([0-9]{4}) /is', $modified_string, $modified_matches);
 //print('$modified_matches: ');var_dump($modified_matches);
 $month = $modified_matches[1];
 $day = $modified_matches[2];
 $year = $modified_matches[3];
 //print('$month, $day, $year: ');var_dump($month, $day, $year);
 //print('$month === September, $day > 25, $year >= 2016: ');var_dump($month === 'September', $day > 25, $year >= 2016);
 //return $month === 'October' && $day > 2 && $year >= 2016;
 //return $month === 'February' && $day > 2 && $year >= 2017;
 //return $month === 'June' && $day > 27 && $year >= 2017;
 return ($month === 'March' && $day > 7 || $month === 'April') && $year >= 2018;
 //return $year >= 2018;
 }
 
 function file_extension_is($filename, $extension) {
 $found_extension = substr($filename, strpos_last($filename, '.'));
 if($found_extension === $extension) {
 return true;
 }
 return false;
 }
 
 function strpos_last($haystack, $needle) {
 //print('$haystack, $needle: ');var_dump($haystack, $needle);
 if(strlen($needle) === 0) {
 return false;
 }
 $len_haystack = strlen($haystack);
 $len_needle = strlen($needle);
 $pos = strpos(strrev($haystack), strrev($needle));
 return $len_haystack - $pos - $len_needle;
 }
 
 ?>
 |