hola, estoy haciendo lo mismo, acabe con el gestor ABM ^^, y ahora que he visto este post me he liado la manta a la cabeza y he dicho.. vamos a probarlo^^ 
La cosa es que me devuleve un fallo : (
voy por partes este es el codigo de gestor_ftp.php:
- <?php  
- require ("global.php"); 
- echo("conectando a ftp.........$ftp_server  $ftp_user  $ftp_pass"); 
-   
- $conn_id = ftp_connect($ftp_server); 
-   
- // login with username and password 
- $login_result = ftp_login($conn_id, $ftp_user, $ftp_pass); 
-   
- if(!$login_result) 
- { 
-    echo("no conecta"); 
- } 
- else {echo("\n conecta!!!!!!!!");} 
-   
-   
- $root=$HTTP_SERVER_VARS['DOCUMENT_ROOT']; 
-   
- echo($root); 
-   
- $local_file=$_REQUEST["archivo_a_subir"]; 
- $server_path=$root; 
-   
-   
- //try to upload $local_file  and save to $server_file 
- if (ftp_put($conn_id, $server_path, $local_file, FTP_BINARY)) 
- { 
-   echo ("Se ha subido el archivo"); 
- }  
- else  
- { 
-    echo "\nWWWWWaaaaaacccccCCCCCKKKKkkkk\n"; 
-    echo $root; 
- } 
- // close the connection*/ 
- ftp_close($conn_id); 
- ?> 
-   
las variabes $ftp_server  $ftp_user  $ftp_pass se definen en global.php, $local_file lo coge de un formulario aprovechando el input type ="file" que es muy practico en estos casos ^^
Conectarse se conecta, y muestra la root. los archivos están subidos a un servidor, pero cada vez que intento subir algo me da un error que dice:
Warning: ftp_put(): Could not create file.
segido de toda la ruta del servidor hasta el archivo gestor_ftp.php y el numero de linea, en este caso es: la 26, lo que me indica 
if (ftp_put($conn_id, $server_path, $local_file, FTP_BINARY))
alguien sabe que esta fallando?  desde ya muchas gracias, porque he mirado en 
http://es2.php.net/manual/es/function.ftp-put.php y lo que no entiendo es que dicen:
$archivo = 'algun-archivo.txt';
$archivo_remoto = 'leame.txt';
pero en las definiciones de arriba pone: 
archivo_remoto:
    La ruta del archivo remoto. 
archivo_local:
    La ruta del archivo local. 
no se.. la ruta es la root no?