Foros del Web » Programando para Internet » PHP »

FTP y PHP

Estas en el tema de FTP y PHP en el foro de PHP en Foros del Web. Hola, ando medio loco tratando de solucionar lo siguiente: Dado que mi hosting no acepta las funciones ftp de php (y ya tengo un contrato ...
  #1 (permalink)  
Antiguo 21/09/2004, 19:32
 
Fecha de Ingreso: abril-2004
Ubicación: Bogota
Mensajes: 26
Antigüedad: 13 años, 8 meses
Puntos: 0
Exclamación FTP y PHP

Hola, ando medio loco tratando de solucionar lo siguiente:

Dado que mi hosting no acepta las funciones ftp de php (y ya tengo un contrato por un año) entonces un amigo me dejó usar su hosting para correr un script que usa esas funciones entonces pasa esto:

en mi hosting corro una aplicación donde los usuarios seleccionan unos archivos para descargar y estos se encuentran en mi hosting,

para la descarga se redireccionan a un script en otro servidor y dominio el cual se conecta por ftp a mi hosting y baja los archivos, EL PROBLEMA ES QUE MIS USUARIOS NO RECIBEN SUS ARCHIVOS, SINO QUE SE QUEDAN GUARDADOS EN EL OTRO HOSTING Y NO PASAN AL PC DE MIS USUARIOS,

alguien puede echarme una mano con esto por favor? como ya dije ando medio loco

Gracias

vean el código del script que está en el hositing prestado:

<?php
switch($archivo)
{
case 1:
$directorio="dir1/";
break;
case 2:
$directorio="dir2/";
break;
case 3:
$directorio="dir3/";
break;
}
if(!$conexion=ftp_connect('ftp.mihosting.net')) die(' No puedo conectarme al servidor');
if(!$login=ftp_login($conexion,"miuser","mipwd")) die('Error de login en el servidor');
ftp_chdir($conexion,$directorio);
$bajada=ftp_get($conexion,"$archivodestino",$archi voorigen,FTP_BINARY);
ftp_quit($conexion);
echo "<body onload='javascript:window.close();void(null);'>";
if (!$bajada) {
echo "&iexcl;La descarga FTP ha fallado! para el archivo $archivoorigen";
} else {
echo "Se ha descargado $archivoorigen exitosamente";
}
?>
__________________
Azazel
  #2 (permalink)  
Antiguo 21/09/2004, 22:43
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Bueno .. eso es completamente normal ..

Si tu en tu servicio de hosting pudieras usar las funciones ftp_xxx() .. podrías conectarte a cualquier servidor FTP sea el de tu própio sitio o uno remoto para obtener un archivo .. pero, el archivo en sí "baja" al servidor que lo solicita (que ejecuta tu script PHP de "cliente FTP") .. Será ese script que corre no se donde servidor el que tenga que entregar el archivo al "cliente" que lo solicita. Para eso debes leer el archivo de donde quedó al bajarlo por FTP y tus funciones ftp_xxx() .. por ejemplo con "readfile()" y montar las cabeceras HTTP que le indican a tu cliente (navegador) que los datos que se le van a enviar son para que los baje.

Puedes ver más info en:
www.php.net/header
www.php.net/readfile

Un saludo,
  #3 (permalink)  
Antiguo 22/09/2004, 16:01
 
Fecha de Ingreso: abril-2004
Ubicación: Bogota
Mensajes: 26
Antigüedad: 13 años, 8 meses
Puntos: 0
Qué pena mi bestialidad (soy muy nuevo en estas lides), pero miré y no entendí mucho el mecanismo exacto para hacerlo, aunque si entendí bien la idea, me podrías ayudar (si no es muy descarado de mi parte) con un bosquejo de cómo quedaría el código? al menos teniéndolo puedo arreglarlo más fácil; la verdad es que no sé por donde ni como empezar.

Gracias,
__________________
Azazel
  #4 (permalink)  
Antiguo 22/09/2004, 17:09
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues .. te recomendaría ir por partes.

1) Ya sabes usar las funciones FTP para conectarte a tu servidor remoto y "traerte" tu archivo hacia el servidor que soporta PHP con funciones FTP.

2) Lee la documentación de PHP sobre las funciones que te describí .. hay ejemplos como este:

Código PHP:
<?php
// Enviaremos un PDF
header('Content-type: application/pdf');

// Se va a llamar descarga.pdf
header('Content-Disposition: attachment; filename="descarga.pdf"');

// La fuente del PDF se encuentra en original.pdf
readfile('original.pdf');
?>
www.php.net/header

Donde dice "original.pdf" tendrías que usar la ruta de tu archivo (donde quedó en el servidor tras bajarlo por FTP)

Un saludo,
  #5 (permalink)  
Antiguo 22/09/2004, 17:22
 
Fecha de Ingreso: abril-2004
Ubicación: Bogota
Mensajes: 26
Antigüedad: 13 años, 8 meses
Puntos: 0
,Hola Cluster:

Muchas gracias por tu apoyo, con esto tengo una mejor visión para solucionar mi problema.

Cuando lo solucione haré un post para que otros lo puedan consultar.

Saludos,
__________________
Azazel
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 22:33.