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;
}
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));
alguna idea o sugerencia?
gracias