ho provato così:

$file_name = ($nuovonomefile) ? $nuovonomefile : $_FILES["nome_file"]["name"];
$file = $_FILES["nome_file"]["tmp_name"];
$newfile = 'nuovo';
if (!copy($file, $newfile)) {
echo "Copia di $file non riuscita ...\n";
}

if(is_uploaded_file($newfile)) {
move_uploaded_file($newfile, "$upload_dir/$file_name")
or die("Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload.");
} else {
die("Problemi nell'upload del file gatto," . $_FILES["nome_file"]["name"]);
}
unlink($newfile);

mi legge die("Problemi nell'upload.... direttamente al primo giro!!!

perchè??