Non l'ho guardato tutto e in maniera approfondita. Ma davvero a questa linea non vedi nessun errore?

move_uploaded_file($tmpName, '$upload_dir')