estoy utilizando CURL para hacer una petición a un servicio Web. El código que tengo es tal que así:
Código PHP:
public static function peticionPOST($url, $data)
{
$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_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$r = curl_exec($curl);
curl_close($curl);
return $r;
}
El problema es cuando los ficheros son grandes, he leido que para solucionar esto hay una opción de cURL que permite enviar streaming, que es la siguiente:
Código PHP:
$fp = fopen('path/to/save/file', 'w');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_exec ($ch);
curl_close ($ch);
fclose($fp);
(Nota, el segundo trozo de código es un ejemplo para una descarga, no un upload, supongo que habrá algo similar para hacer un upload)
Gracias!