Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/03/2012, 03:52
jmgarciamari
 
Fecha de Ingreso: marzo-2012
Mensajes: 2
Antigüedad: 12 años
Puntos: 0
Exclamación problema descargar ftp variable

he descubierto que el archivo que me copia a la raiz de la web es por la variable $filename, que luego al hacer un unlink de esa variable este archivo se borra, pero al descargar un archivo de mucho tamaño primero hace la variable y va copiando el archivo a la raiz del sitio web y luego me dice de descargarlo pero esta corrupto.

I need help please!! :D


Hola!, ante todo me presento, me llamo Juanma y despues de visitar este foro muchisimas veces he decidido registrarme para no volverme loco nunca mas jeje.

Resulta que estoy haciendo una web php que suba y descarge archivos de un ftp, lo probé con ftp_get pero el archivo que descargaba estaba dañado, y ahora estoy con curl pero el problema, que ya no se si antes me pasaba, es que el archivo descarga perfectamente pero a parte de guardarse en el lugar que elijas, nada mas darle al boton descargar este archivo se copia a la raiz de la web, llenandose de archivos que la gente a descargado jejej.

¿Como puedo evitar eso?

os pongo el codigo:
Código:
<?php
$id_ftp=ConectarFTP(); //Obtiene un manejador y se conecta al Servidor FTP
	ftp_chdir($id_ftp, $_SESSION['user'] );
	//Get file from FTP:  		
		           
  
          $ftpuser = "usuario";
   
          $ftppass = "pass";
   
          $ftppath = "172.**.**.**";
  
          $ftpurl = "ftp://".$ftpuser.":".$ftppass."@".$ftppath."/".$_SESSION['user']."/";
		   		
			
             
	$curl = curl_init();
$fh   = fopen($filename, 'a');
curl_setopt($curl, CURLOPT_URL, $ftpurl.$filename);
curl_setopt($curl, CURLOPT_FILE, $fh);
//curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
//fwrite($fh, $result);
fclose($fh);
curl_close($curl);
	       
header("Content-type: application/force-download");
header("Content-Disposition: attachment; filename=".basename($filename));
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($filename));
readfile($filename);
?>
la parte que tengo comentada de codigo es que he descubierto que sin esa parte tambien hace lo mismo, asi que me imagino que no será muy importante, porque descargar, descarga pero sigue copiandolo a la raiz de la web.

y esto es lo que utilizaba antes

Código:
if (ftp_get($id_ftp, $filename, $filename, FTP_BINARY)) {
       
		header("Content-type: application/force-download");
       header("Content-Disposition: attachment; filename=".basename($filename));
      header("Content-Transfer-Encoding: binary");
       header("Content-Length: ".filesize($filename));
      readfile($filename);
}
Antes de nada muchisimas gracias por este foro y por vuestros conocimientos.

Muchas Gracias!

Saludos

Última edición por jmgarciamari; 04/04/2012 a las 04:26 Razón: voy averiguando cosas poco a poco