我使用 curl 下载了一个 json 文件,并且这个脚本工作正常。但是我需要 CURLOPT_HEADER 的标头将其保存到单独的文件中或添加到输出数组而不是同一个文件中,这可能吗?现在一切都保存到这个文件中,我需要将文件头与文件分开,这是一个不必要的过程。
/**
* Send a GET requst
* @param string $get
* @return string
*/
public function curl_get(array $get = NULL)
{
$url = $get['host'] .'/'. $get['service'];
$filename = PLUGIN_BASE . 'logs/'. $get['service'] .'_'. $this->nice_filename();
$fp = fopen($filename, 'w');
unset($get['host']);
unset($get['service']);
$defaults = array(
CURLOPT_URL => $url. (strpos($url, '?') === FALSE ? '?' : ''). http_build_query($get),
CURLOPT_HEADER => 1,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_TIMEOUT => 30,
CURLOPT_FILE => $fp
);
$ch = curl_init();
curl_setopt_array($ch, ($defaults));
if( ! $result = curl_exec($ch))
{
//$result = curl_error($ch);
$filename = trigger_error(curl_error($ch));
}
curl_close($ch);
fclose($fp);
$arg = array(
'file'=>$filename,
'curl_id'=>$fp
);
return $arg;
}
谢谢