Я загружаю zip-файл с помощью zend httpClient и получаю содержимое файла, назначенное переменной как таковой:
$body = $response->getBody();
$body
имеет содержимое zip-файла, его можно открыть без сохранения в виде файла с помощью http://php.net/manual/en/class.ziparchive.php или какой-то другой родной класс 5.2?
РЕДАКТИРОВАНИЕ Предложения дали несколько хороших идей о том, как это может быть выполнимым без создания временного файла, но из-за того, что мне уже нужно будет использовать прокси-адаптер, к длине создания собственного адаптера для этой цели, просто не стоит.
В итоге я использовал tmpname для создания tmp-файла (чего я хотел избежать, но все равно оказался здесь).
if ($response->isSuccessful()){
$tmpfile = tempnam(sys_get_temp_dir(),'Insight');
if ($tmpfile!==false){
$handle = fopen($tmpfile, "w");
if (fwrite($handle, $response->getBody())!==false){
$zip = new ZipArchive;
if ($zip->open($tmpfile) === TRUE) {
echo $zip->getFromIndex(0);
$zip->close();
} else {
$this->errorLog('Unable to open zip file '.$tmpfile);
}
}else{
$this->errorLog('Unable to write to temporary file '.$tmpfile);
}
fclose($handle);
}else{
$this->errorLog('Unable to create temporary zip file in '.sys_get_temp_dir());
}
}else{
$this->errorLog('Unable to download url '.$insightUrl);
}
zip_open("http://url/to/download.zip")
? - person Jules Colle   schedule 01.06.2011