Es más, usando el SmartFTP y habilitando la opción "Force Server IP for PASV Mode" se conecta al FTP y logra subir archivos.
Sin embargo a través de PHP me da los siguientes errores:
Warning: ftp_put() [function.ftp-put]: php_connect_nonb() failed: No error (0) in C:\Inetpub\wifi\prueba.php on line 25
Warning: ftp_put() [function.ftp-put]: Entering Passive Mode (172,36,0,13,14,247). in C:\Inetpub\wifi\prueba.php on line 25
No se pudo subir el archivo en modo ASCII...
Warning: ftp_put() [function.ftp-put]: php_connect_nonb() failed: No error (0) in C:\Inetpub\wifi\prueba.php on line 30
Warning: ftp_put() [function.ftp-put]: Entering Passive Mode (172,36,0,13,15,7). in C:\Inetpub\wifi\prueba.php on line 30
No se pudo subir el archivo en modo BINARY...
Este es el código que utilizo:
Código PHP:
   <?php
set_time_limit(0);
$urlftp="xxx.xxx.xxx.xxx"; //IP publica
//$urlftp=gethostbyaddr($urlftp);
$portftp="2120";
$userftp="user";
$passftp="pass";
$carpeta="carpeta";
echo "Intentando conectar al servidor $urlftp<br>";
if ($ftp=ftp_connect ($urlftp,$portftp)) {
    echo "Conecta al FTP<br>";
    if ($ftplog=ftp_login ($ftp,$userftp,$passftp)) {
        echo "Se loggea al FTP<br>";
        //Añadido
        if ($ftp_dir=ftp_pwd($ftp)) { 
            echo "La carpeta actual es $ftp_dir<br>";
        } else {
            echo "No se puede obtener informacion sobre la carpeta actual...<br>";
        }
        if ($ftpdir=ftp_chdir ($ftp,$carpeta)) {
            echo "Existe la carpeta y se dirije a ella<br>";
            //Subire un archivo...
            echo "Entrando en modo pasivo...<br>";
            ftp_pasv ($ftp,true);
            if (ftp_put ($ftp,"arriba.gif","arriba.gif",FTP_ASCII)) {
                echo "Se subió el archivo en modo ASCII...<br>";
            } else {
                echo "No se pudo subir el archivo en modo ASCII...<br>";
            }
            if (ftp_put ($ftp,"abajo.gif","abajo.gif",FTP_BINARY)) {
                echo "Se subió el archivo en modo BINARY...<br>";
            } else {
                echo "No se pudo subir el archivo en modo BINARY...<br>";
            }
        }
    }
    ftp_close ($ftp);
} else {
    echo "No conecta al FTP.";
}
?>    Esto pasa cuando no se usa el puerto 21.
¿Alguna sugerencia para poder subir los archivos a través de PHP al igual q hace el SmartFTP?
Uso PHP 5.0.4 en modo ISAPI en el Windows 2003 Server aunque dudo q ésto tenga nada q ver con el problema del 3Com.
 
 


