Estoy tratando de descargar un archivo CSV que me genera la API de youtube, para realizar stats... pero he intentado de varias formas con CURL, y los archivos normales los descarga correctamente, pero cuando intento con el link que me genera el CSV, me da el siguiente error:
[function.fopen]: failed to open stream: No error in D:\www\proyecto\www\descarga.php on line 31
Warning: curl_setopt(): supplied argument is not a valid File-Handle resource in D:\www\proyecto
el link que me genera el CSV es:
http://insight.youtube.com/video-analytics/csvreports?starttime=1299456000000&endtime=1300665 600000&query=r5OR_L9-Xss&type=v&token=$miapikey&hl=en_US&format=json&re gion=world
si intento descargarlo manualmente funciona correctamente, alguien tiene alguna idea del porque de este error?
Es decir, tengo que tener alguna prioridad al realizar la peticion del archivo???
por cierto, el codigo que estoy utilizando para descargar es el siguiente:
Código PHP:
$cookie_file_path = "c:\cookiefile";//o lo que sea
$LOGINURL = "http://insight.youtube.com/video-analytics/csvreports?starttime=1299456000000&endtime=1300665600000&query=r5OR_L9-Xss&type=v&token=miapikey&hl=en_US&format=json®ion=world";
$agent = "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$LOGINURL);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
$result = curl_exec ($ch);
curl_close ($ch);
unset($ch);
$url = 'http://insight.youtube.com/video-analytics/csvreports?starttime=1299456000000&endtime=1300665600000&query=r5OR_L9-Xss&type=v&token=miapikey&hl=en_US&format=json®ion=world';
$save_to='c:\reporte.csv';
$g=$save_to.basename($url);
echo $g;
$ch=curl_init($url);
$fp=fopen ($g, "w");
curl_setopt ($ch, CURLOPT_FILE, $fp);
curl_setopt ($ch, CURLOPT_HEADER ,0);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,60);
curl_exec ($ch);
curl_close ($ch);
fclose($fp);