Debes definir bien eso de "subir archivo a mi ftp" .. por qué creo que estás confundiendo terminos.
Generalmente uno habla de "ftp" cuando sube archivos a un servidor .. pero lo hace por ese mismo protocolo "FTP" .. Tu, en tu caso usando PHP no vas a subir tu archivo por FTP (protocolo) sino por HTTP vía un formulario HTTP con un campo "FILE" y la codificación del formulario adecuada ..
De esa forma .. PHP en su array $_FILES obtendrá el archivo junto con algunos datos sobre el archivo como el nombre ($_FILES['nombre_file']['name']) .. el tamaño (type) .. su nombre temporal (cuando PHP lo sube lo hace a un directorio temporal con un nombre temporal a la espera de que hagas algo con el) .. etc.
Todo esto lo tienes detallado en:
http://www.php.net/manual/en/features.file-upload.php
(y en las FAQ's de este foro tienes ejemplos)
Luego .. si necesitas realmente mover ese archivo a -otro- servidor que no sea el mismo que ejecuta tu script PHP de "upload.php" .. entonces ahí si que usarías funciones de PHP para FTP y así usar a PHP (tu script) como un "cliente de FTP" para llevar ese archivo a otro servidor .. pero si el archivo que subes ha de quedar en el mismo servidor que están esos script's PHP .. se mueven con funciones tipo move_uploaded_file() a su destino definitivo sin usar en ningún caso "FTP".
Un saludo,