我尝试/正在尝试的
function download_data($target_document,$outfile_location)
{
log_message('info', 'Downloading every page in data set');
do
{
$ch = curl_init ($target_document.'apiKey=' . self::$API_KEY);
$fp = fopen($outfile_location . "data.zip", "w");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
$http_status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
fclose($fp);
$this->http_status = $http_status;
if($this->http_status != 200)
{
$this->data_retry_count += 1;
}
} while($this->http_status != 200 && $this->data_retry_count < $this->retry_max);
if($this->http_status == 200)
{
return;
}
}
使用上面的代码一切都很顺利,除了我得到一个没有内容的压缩(zip)。如果我在浏览器中下载目标文档,它就可以工作。为了获取 zip 文件的内容,我是否必须对 curl 做一些不同的事情?
忽略$this
变量,因为此函数是类的一部分,而这些变量代表类中包含的变量。