Ho preso lo script dell'articolo di questo sito "Upload con Php" di Giancarlo Moscitta ed lo modificato un po'.
In pratica ho una pagina con form che mi permette di riempire i campi di un record di database, nella stessa pagina c'è il link per aprire un popup in cui c'è il form per l'upload del file.
Il codice riportato è quello della pagina di conferma dell'avvenuto upload.
Codice PHP:
<?

// QUESTE RIGHE RENDONO LO SCRIPT COMPATIBILE CON LE VERSIONI
// DI PHP PRECEDENTI ALLA 4.1.0
if(!isset($_FILES)) $_FILES $HTTP_POST_FILES;
if(!isset(
$_SERVER)) $_SERVER $HTTP_SERVER_VARS;

/********************* VARIABILI DA SETTARE ********************/
// Directory dove salvare i files Uploadati ( chmod 777, percorso assoluto)
$upload_dir $_SERVER["DOCUMENT_ROOT"]."/altervista/uploaddir";
// ==========================================================
chmod($_SERVER["DOCUMENT_ROOT"]."/altervista/uploaddir",777);
// ==========================================================

// print ($_SERVER["DOCUMENT_ROOT"]."/altervista/uploaddir");
if(trim($_FILES["upfile"]["name"])=="") {die("Non hai indicato il file da uploadare !");}
                                        else {  
// Il file è stato indicato
                                                
if(is_uploaded_file($_FILES["upfile"]["tmp_name"])) // E' stato effettuato l'upload
                                                    
{if ($_FILES["upfile"]["size"]>2048// E' troppo grande
                                                        
{print("L\'immagine non può pesare più di 2 mb");}
                                                        else{
move_uploaded_file($_FILES["upfile"]["tmp_name"], "$upload_dir/$file_name") or die("Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload.");
                                                            echo 
"L'upload del file " $_FILES["upfile"]["name"] . " è avvenuto correttamente";}
                                                    }
                                                    else { die(
"Problemi nell'upload del file ".$_FILES["upfile"]["name"]).$_FILES['upfile']['error'];}  // Non è stato effettuato l'upload
                                             
}
?>
Mi rendo conto che non è il massimo dell'eleganzacorrettezza usare tutti quei "IF-else" nidificati, ma non riesco a capire perchè quando vado ad eseguire lo script ricevo sempre il messaggio "Problemi nell'upload del file".
Ci sto diventando scemo.
Mi potete aiutare, sono agli inizi. Grazie !