Según tu código de ejemplo ya te intentas conectar por FTP pasivo:
ftp_pasv ($ftp,true);
El problema "creo" que lo tienes en que tu router actua de proxy (es así?) .. en ese caso necesitarías una conexión tipo:
Cita: sven at cartell-network dot de
13-Feb-2002 09:27
connection to a ftp server across proxy
Código PHP:
$ftp_server = "proxy"; f.e. 123.456.789.10
$ftp_user_name = "username@ftpserver"; f.e. exampleuk@www.example.uk
$ftp_user_pass = "password";
$conn_id = ftp_connect($ftp_server, 2121);
$login_result = ftp_login( $conn_id, $ftp_user_name, $ftp_user_pass );
Fijate en los datos de conexión . .el usuario con la @ y el domino al que apuntas finalmente ... (eso es bien importante ..)
Un saludo,