Le compte utilisateur avec lequel tu te connectes en FTP n'est peut-être pas le même que celui utilisé par PHP. Vérifie que depuis ton script, tu peux bien écrire dans le dossier de destination (ou essaie de le chmod-er temporairement en 777, histoire d'en avoir le coeur net).
L'espace dans le nom de fichier, d'une part tu ne peux pas l'éviter (c'est pas toi qui choisis le nom du fichier uploadé par les utilisateurs), d'une autre ça ne devrait poser absolument aucun problème

(du moins, pas ici)