Con este código consigo lo que quiero. Que es cargar el ficheor desde la web remota y enviarlo como respuesta en mi web.
Código PHP:
$GLOBALS['array_headers']=array();
function readHeader($curl, $header)
{
$GLOBALS['array_headers'][]=$header;
return strlen($header);
}
$curl = curl_init();
curl_setopt($curl,CURLOPT_HTTPAUTH,CURLAUTH_BASIC ) ;
curl_setopt($curl,CURLOPT_USERPWD,"user:pass");
curl_setopt($curl,CURLOPT_SSLVERSION,3);
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,2);
curl_setopt($curl,CURLOPT_HEADERFUNCTION,"readHeader");
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl,CURLOPT_FILE);
curl_setopt($curl,CURLOPT_URL,$url);
$resultado=curl_exec($curl);
$curl_close($curl);
foreach($GLOBALS['array_headers'] as $header)
{
header($header);
}
echo $resultado;
El problema es que hay ficheros de más de 100 Mb y tardan un buen rato en descargarse de esta manera. Pero si no quiero que me pida usuario y contraseña, no veo otra manera.
Estos ficheros dónde se guardan? En memoria o en disco?