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....