Perchè non rimuovi l'@ davanti a move_uploaded_file() e leggi il messaggio di errore che ti restituisce il PHP?