Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/09/2012, 10:09
Avatar de ahaugas
ahaugas
 
Fecha de Ingreso: agosto-2011
Ubicación: Madrid
Mensajes: 249
Antigüedad: 15 años, 2 meses
Puntos: 21
problemas al descargar archivos con curl

hola a todos,
estoy haciendo un script en php para obtener un archivo de otro servidor mediante curl.

para poder navegar por el otro servidor se necesita primero iniciar sesion y almacenar la sesion obtenida en un archivo para usarlo posteriormente.

el inicio de sesion me lo hace correctamente y guardar la sesion en un archivo txt tambien, pero cuando intento decargar un archivo me sale el error Fatal error: Out of memory


el codogo es:
Código PHP:
  ini_set("memory_limit","2048M");    //Limite 2GB
  
set_time_limit(0);                  //Tiempo de transferencia ilimitada

  //Definimos las variables de la pagina
  
$username    = ""; 
  
$password    = "";
  
$loginUrl    = 'http://login.mysite.com/login.php';
  
$loginFields = array('username' => $username, 'password' => $password);

  
//Ahora se ha iniciado la sesion y la sesion de la cookie ha sido generada
  
getUrl($loginUrl, 'post', $loginFields); 

  
//Cargamos la pagina que queremos ver
  
$remote_page_content = getUrl('http://miembros.mysite.com/3098');
  echo 
$remote_page_content;

  
//Simple funcion para acceder
  
function getUrl($url, $method='', $vars='') 
  {
        
$ch = curl_init();
        if (
$method == 'post') 
        {
        
curl_setopt ($ch, CURLOPT_POST, 1);
        
curl_setopt ($ch, CURLOPT_POSTFIELDS, $vars);
        }

        
curl_setopt ($ch, CURLOPT_URL, $url);
        
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
        
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7");
        
curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
        
curl_setopt ($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
        
curl_setopt ($ch, CURLOPT_MAXREDIRS, 10);
        
curl_setopt ($ch, CURLOPT_TIMEOUT, 0);
        
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 0);
        
curl_setopt ($ch, CURLOPT_FAILONERROR, true);
        
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, true);
        
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, false);
        
$buffer = curl_exec($ch);
        
curl_close ($ch);

        return 
$buffer;
  } 
para descargar el archivo utilizo el siguiente metodo para acceder al archivo directamente:

Código PHP:
//Cargamos la pagina que queremos ver
$remote_page_content = getUrl('http://content.mysite.com/PSP.mp4/'); 

file_put_contents('/downloads/video.mp4',file_get_contents($remote_page_content)); 
pero me tira un error

alguna idea o sugerencia?

gracias
__________________
www.ahaugas.com mi pagina de desarrollo