Hola, he programado el siguiente código para bajarme ficheros de un servidor remoto. He conseguido bajarmelo a un fichero local y posteriormente escribir el fichero por la salida estándar.
Lo que pretendo es ir escribiendo el contenido en la salida, según va llegando (para evitar tener una ventana abierta en blanco mucho tiempo, si se tarda de ficheros grandes).
He hecho lo siguiente, pero no funciona, ¿alguna idea?. Muchas gracias
Código PHP:
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Disposition: attachment; filename=\"hola.jpg\"");
header("Content-Transfer-Encoding: binary ");
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_USERPWD, Yii::app()->params['APP_AUTH']);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
//$fp = fopen($temp_file, 'wb');
$fp = fopen("php://stdout","wb");
curl_setopt($curl, CURLOPT_FILE, $fp);
curl_exec($curl);
curl_close($curl);
fclose($fp);