Foros del Web » Programando para Internet » PHP »

ftp_get() no me descarga a una ruta local...

Estas en el tema de ftp_get() no me descarga a una ruta local... en el foro de PHP en Foros del Web. Hola gente ;) La cosa está en que con ftp_get() en teoria podemos descargar un archivo desde el servidor hasta un directorio local... Pero sin ...
  #1 (permalink)  
Antiguo 20/07/2006, 04:45
 
Fecha de Ingreso: enero-2005
Mensajes: 149
Antigüedad: 19 años, 3 meses
Puntos: 2
ftp_get() no me descarga a una ruta local...

Hola gente ;)

La cosa está en que con ftp_get() en teoria podemos descargar un archivo desde el servidor hasta un directorio local... Pero sin embargo, lo que hace es que crea un archivo remoto... que como nombre tiene la ruta junto con el nombre del archivo :S

Código:
$servidor_ftp = "ftp.t35.com";
$ftp_nombre_usuario = "USUARIO";
$ftp_contrasenya = "CONTRASEÑA";

$id_con = ftp_connect($servidor_ftp);
$resultado_login = ftp_login($id_con, $ftp_nombre_usuario, $ftp_contrasenya);
$remoto = "A.txt";
$local = "C:\B.txt";

if (ftp_get($id_con, $local, $remoto, FTP_BINARY)) {
   echo "Se ha guardado satisfactoriamente en $local\n";
} else {
   echo "Ha ocurrido un problema\n";
}

ftp_close($id_con);
Entonces, el archivo remoto "A.txt" deberia descargarse en "C:\" como "B.txt"... pero, lo que hace es que en el ftp crea un nuevo archivo llamado "C:\B.txt" :S

Sabeis por que pasa esto ? Yo he buscado info... pero no veo nada así...

Desde ya, Gracias ;)
  #2 (permalink)  
Antiguo 20/07/2006, 04:56
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
;)

PHP es un lenguaje de servidor, creo que guarda el archivo en el servidor donde se ejecuta no en el equipo que lanza el script.
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #3 (permalink)  
Antiguo 20/07/2006, 08:10
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
La cosa está en que con ftp_get() en teoria podemos descargar un archivo desde el servidor hasta un directorio local...
No, .. eso no es así .. Estas confundiendo lo que es un "cliente" FTP y no estás viendo donde está tu "cliente" en concreto. Si te fijas por FTP mueves archivos desde cierto servidor FTP a cierto "cliente" y concretamente donde esté ejecutandose ese "cliente" .. En tu caso tu script PHP está ejecutandose en tu servidor (probablemente en el mismo servidor y sistema de archivos que los archivos que quieres descargar) ...

Como usas el protocolo "HTTP" para crear tu página y llamarla desde tu navegador a tu script PHP .. tu script PHP debe obtener el archivo de donde esté (FTP? .. no creo que sea necesario .. con obtenerlo del sistema de archivos con funciones más básicas sobra ..) y entregarlo al buffer de salida de pHP para que puedas componer antes de esto las cabceras HTTP adecuadas para indicar al "cliente" (en tu caso: tu navegador) que los datos que vas a enviar son para "descargar" (o para que así los entienda).

Para todo esto puedes usar las funciones:
header()
www.php.net/header

y

readfile() (si el archivo está en el mismo servidor que corre tu script PHP).
www.php.net/readfile

Ejemplos tienes en la documentación de PHP al respecto .. Recuerda que con header() envias cabeceras HTTP y estas son própias de dicho protocolo no de PHP.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 20/07/2006, 11:11
 
Fecha de Ingreso: enero-2005
Mensajes: 149
Antigüedad: 19 años, 3 meses
Puntos: 2
Gracias por la respuesta a los dos.

Miraré esa documentación cluster, gracias por la info de las cabeceras ^^ ;)
  #5 (permalink)  
Antiguo 20/07/2006, 11:19
 
Fecha de Ingreso: mayo-2006
Ubicación: Argentina (Buenos Aires,CABALLITO)
Mensajes: 331
Antigüedad: 17 años, 10 meses
Puntos: 9
claro,si no nos descargariamos tantas cosas si se pudiera hacer eso =/
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 19:46.