Io di solito uso questa utile funzioncina:

Codice PHP:
    function Upload($files){
        if(!
file_exists($up_dir))
            die(
'La directory non esiste!');
        
$filename $files['name'];
        if(
trim($files["name"]) == "")
            die(
"Non hai indicato il file da uploadare!");
        if(
is_uploaded_file($files["tmp_name"])){
            
move_uploaded_file($files["tmp_name"],$up_dir.$filename)
            or die(
"Impossibile spostare il file; controlla l'esistenza o i permessi della directory!");
        }else
            die (
"Problemi nell'upload del file ".$files["name"]);
    }