Foros del Web » Programando para Internet » PHP »

FTP: no me funciona el ftp_put()

Estas en el tema de FTP: no me funciona el ftp_put() en el foro de PHP en Foros del Web. Que tal señores Estoy tratando se subir archivos por FTP y tengo acá el siguiente código: Código PHP: <?php  $ftp_server  =  "ftp.servidor.com" ;  $ftp_user  =  ...
  #1 (permalink)  
Antiguo 14/10/2005, 00:54
Avatar de [ EDO ]  
Fecha de Ingreso: julio-2004
Ubicación: Quilpué, V Región, Chile
Mensajes: 98
Antigüedad: 13 años, 4 meses
Puntos: 0
FTP: no me funciona el ftp_put()

Que tal señores

Estoy tratando se subir archivos por FTP y tengo acá el siguiente código:

Código PHP:
<?php 

$ftp_server 
"ftp.servidor.com"
$ftp_user "usuario"
$ftp_password "contrasena"
$ftp_port "21"
$file "C:\Documents and Settings\Eduardo Becerra\Desktop\logoFV.jpg"


    
$message ""
    
$error false
    
$ftp_conn_id = @ftp_connect$ftp_server$ftp_port );
    
ftp_pasv ($ftp_conn_idtrue);
    if( !
$ftp_conn_id ) { 
        
$message .= "<br>- No puedo conectar al server FTP: $ftp_server<br>"
        
$error true
    } 
    if( !
$error ) { 
        if( [email protected]
ftp_login$ftp_conn_id$ftp_user$ftp_password ) ) { 
            
$message .= "<br>- No puedo conectarme como: $ftp_user<br>"
            
$error true
        } 
    } 
    if( !
$error ) { 
        
$systype = @ftp_systype$ftp_conn_id ); 
        
$passiveMode = @ftp_pasv$ftp_conn_idfalse ); 
        
$up ftp_put$ftp_conn_id"./avatars/logo.jpg"$fileFTP_BINARY); 
        if( !
$up ) { 
            
$message .= "<br>- el upload por FTP (ftp_put) ha fallado!<br>"
            
$error true
        }     
    } 
    else { 
        
$message .= "<br>- OK<br>"
    } 
    if( 
$ftp_conn_id 
        
ftp_quit$ftp_conn_id ); 

    echo 
$message;

?>
Es prácticamente el mismo que está por todos lados. Bueno; la cuestión es que logra conectarse perfectamente, pero falla al acceder al archivo local y arroja el siguiente error:
Warning: ftp_put(): Unable to access C:\Documents and Settings\Eduardo Becerra\Desktop\logoFV.jpg in /hsphere/local/home/edokk/flash-vortex.com/datos_ftp.php on line 28
Pues la verdad no tengo idea lo que puede ser porque yo supongo que es perfectamente posible que el script acceda el archivo local, a menos que esté absolutamente equivocado. No soy programador profesional así que agradecería mucho que me aclararan este asunto.
__________________
EDO
  #2 (permalink)  
Antiguo 14/10/2005, 05:54
 
Fecha de Ingreso: octubre-2005
Mensajes: 33
Antigüedad: 12 años, 2 meses
Puntos: 0
No estoy seguro de esto , pero intenta poner las barras al reves en plan linux en el $file Cambia = \ por /
__________________
Go jakuko!
  #3 (permalink)  
Antiguo 14/10/2005, 07:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero .. estás pretendienco copiar ese archivo usando FTP a tu PC? .. (tu servidor remoto con Linux y tu PC con windows?)

Si es así .. eso NO puedes hacerlo .. la descarga de archivos (a no ser que te instales un servidor FTP en tu PC .. siendo el proceso justo al reves) .. lo debes hacer por HTTP (vía header() www.php.net/header) .. no puedes descargar un archivo a un PC cualquier -sin confirmación-.

Explica mejor tu situación (donde tienes el archivo origen .. donde quieres copiarlo .. donde tienes tu servidor FTP .. etc ..)

Un saludo,
  #4 (permalink)  
Antiguo 14/10/2005, 10:51
Avatar de [ EDO ]  
Fecha de Ingreso: julio-2004
Ubicación: Quilpué, V Región, Chile
Mensajes: 98
Antigüedad: 13 años, 4 meses
Puntos: 0
Ok Cluster, la situacion es más simple; tengo un sitio en donde los usuarios podrán subir archivos a él, ahora bien, ¿por qué no lo hago a traves de un formulario via HTTP como cualquier mortal? porque es un sitio en flash muy complejo y ya descarté esa posibilidad por impedimentos técnicos que no viene al caso explicar ahora.
Entonces, quería ver la posibilidad de hacer lo mismo pero via FTP, excluyendo absolutamente el otro protocolo. Yo sé bien que no es el método que corresponde, tan sólo quiero saber si la posibilidad es real.
El servidor que estoy usando es uno que conseguí a cambio de publicidad, osea; no es mi PC ni nada parecido, pero tiene todo el soporte de un servidor de calidad.

Grafico la situación: un usuario entra al sitio y al registrarse tiene la posibilidad de subir un JPG para su avatar. En un caso normal, se usaría un formulario HTML que envía todo por HTTP, deseo hacer lo mismo pero a traves de FTP. ¿Se puede o estoy fantaseando?
__________________
EDO
  #5 (permalink)  
Antiguo 14/10/2005, 12:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues no vas a poder .. a no ser que tu en "Flash" implementes un cliente FTP y te conectes a tu servidor al igual que ahora usas a PHP para conectarte por FTP justamente al mismo servidor que corre PHP y que ha de contener los archivos (en esos casos PHP -> sistema de archivos no se usa FTP sino un simple "move_uploaded_file()" de lo que subistes por HTTP) .. SIN pasar por PHP .. PHP no puede hacer nada más al respecto. Recuerda que PHP se ejecuta en el -servidor- y tu tienes tus archivos en el "cliente" .. justo donde se ejecuta tu aplicación en Flash.

Desconozco Flash .. y no sé como trabaja este formularios .. Deberías ver como trabaja Flash o como podría trabajar Flash con un formulario y un equivalente a un campo "file" de HTML común + la codificación del formulario para llevar datos "multiples" (texto plano y binario para la imagen).

Un saludo,
  #6 (permalink)  
Antiguo 14/10/2005, 13:24
Avatar de [ EDO ]  
Fecha de Ingreso: julio-2004
Ubicación: Quilpué, V Región, Chile
Mensajes: 98
Antigüedad: 13 años, 4 meses
Puntos: 0
Estuve investigando y ya me estaba haciendo la idea de que el asunto era más o menos como lo has descrito. En definitiva; yo estaba fantaseando, ja ja.
Por suerte el recién aparecido Flash 8 trae una API para manejar de forma básica archivos para subir y descargar, lo engorroso es que debo cambiar mucho código en mi sitio para implementar ese sistema.

De todas formas, muchas gracias Cluster por la aclaración, fue de gran ayuda.

Saludos

PS: 25.137 mensajes!!! Uff
__________________
EDO
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:08.