Codice PHP:
$path "qui il percorso anno/mese/ in cui controllare";
$glob_latestlog   = array();
$glob_filescan    = array();
if (
$handle opendir($path)){
    while (
false !== ($directory readdir($handle))) {
        if( 
$directory != "." && $directory != ".." ) {
            if(
is_dir($directory)) {
                
$nameandtime['filename'] = $directory;
                
$nameandtime['filetime'] = filemtime$path.$directory );
                
array_push$glob_filescan$nameandtime );
            }
        }
    }
    
closedir($handle);

    if ( 
sizeof$glob_filescan ) > ){  
        
/****** ordina per data ******/
        
foreach ($glob_filescan as $key => $row){
            
$fileage[$key]  = $row['filetime'];
        }
        
array_multisort($fileageSORT_DESC$glob_filescan);
        
$glob_latestlog array_shift($glob_filescan);
    }
}
//$glob_latestlog contiene ora la directory creata più di recente

//leggi il nome della directory e ricavi il numero
//supponiamo che la directory si chiami "directory4"

$numero str_replace("directory","",$glob_latestlog['filename']); //contiene 4

$numero++; //contiene 5

$nuova_directory "directory".$numero;
//adesso crei la nuova directory e questa avrà il numero seguente all'ultimo già esistente 
Non ho provato questo codice, potrebbe esserci qualche modifica da fare, ma in linea di massima dovrebbe andare bene.