Buon giorno a tutti...
Ho una struttura che, cosi com'è funziona, però credo sia un po' obsoleta e macchinosa.
Vorrei sapere per favore se con una ricorsione posso snellire il codice e rendere più performante lo script.
//questo è quello che ho:
Codice PHP:
//a seconda dell'argomento scelto, vedo prima se nella cartella es: Presenti esiste una sottocartella News, 
            //dopodichè creo un'ulteriore sottocartella avente come nome la data di inserimento della news
            
if(!is_dir($base_dir.trim($selArgomento)."/News/")){
                echo 
"Non esiste";
                
//se non esiste creo la cartella News e poi tutte le sotto cartelle con nome uguale alla data di inserimento della news
                
mkdir($base_dir.trim($selArgomento)."/News"0700) or die ("Impossibile creare la cartella di news");
                
//se è stata creata la sottocartella News per es. dei Presenti dopodichè creo le sottocartelle con nome uguale alla data di inserimento della news
                
if(!is_dir($base_dir.trim($selArgomento)."/News/".inv_data(trim($txtDataIns)))){
                    
//creo solo le sottocartelle con nome uguale alla data di inserimento della news
                    
mkdir($base_dir.trim($selArgomento)."/News/".inv_data(trim($txtDataIns)), 0700) or die ("Impossibile creare la sottocartella di news: " date("Y-m-d"));
                    if (
is_uploaded_file($_FILES['txtAllegato']['tmp_name'])) {
                        
move_uploaded_file($_FILES['txtAllegato']['tmp_name'], $base_dir.trim($selArgomento)."/News/".inv_data(trim($txtDataIns))."/".$_FILES['txtAllegato']['name']);
                    } 
                    else{
                        echo 
"
Errore in fase di upload del file della News!
"
;
                    }
                }
                else{
                    if (
is_uploaded_file($_FILES['txtAllegato']['tmp_name'])) {
                        
move_uploaded_file($_FILES['txtAllegato']['tmp_name'], $base_dir.trim($selArgomento)."/News/".inv_data(trim($txtDataIns))."/".$_FILES['txtAllegato']['name']);
                    } 
                    else{
                        echo 
"
Errore in fase di upload del file della News!
"
;
                    }
                }    
            }
            else{
                echo 
"Si esiste la cartella News";
                                
//verifico se non esiste la sottocartella di News
                
if(!is_dir($base_dir.trim($selArgomento)."/News/".inv_data(trim($txtDataIns)))){
                    
//creo solo le sottocartelle con nome uguale alla data di inserimento della news
                    
mkdir($base_dir.trim($selArgomento)."/News/".inv_data(trim($txtDataIns)), 0700) or die ("Impossibile creare la sottocartella di news: " date("Y-m-d"));
                    if (
is_uploaded_file($_FILES['txtAllegato']['tmp_name'])) {
                        
move_uploaded_file($_FILES['txtAllegato']['tmp_name'], $base_dir.trim($selArgomento)."/News/".inv_data(trim($txtDataIns))."/".$_FILES['txtAllegato']['name']);
                    } 
                    else{
                        echo 
"
Errore in fase di upload del file della News!
"
;
                    }
                }
                else{
                    if (
is_uploaded_file($_FILES['txtAllegato']['tmp_name'])) {
                        
move_uploaded_file($_FILES['txtAllegato']['tmp_name'], $base_dir.trim($selArgomento)."/News/".inv_data(trim($txtDataIns))."/".$_FILES['txtAllegato']['name']);
                    } 
                    else{
                        echo 
"
Errore in fase di upload del file della News!
"
;
                    }
                }    
            } 
Praticamente come potete vedere, ci sono dei passaggi che potrebbero essere ottimizzati,come l'upload del file e la creazione di sottocartelle.
Sapreste dirmi cortesemente come si esegue una ricorsione per la creazione di sottocartelle ed upload di file?

Grazie mille....