В моем приложении Phalcon есть следующий код:
public function downloadAction($key = NULL) {
if ($key == NULL) {
return $this->respondDownloadFailed();
}
$url = Urls::findFirst("token = '".$key."'");
if ($url) {
$path = $url->getUrl();
$ext = pathinfo($path, PATHINFO_EXTENSION);
header("Content-type: application/".$ext);
header("Content-Disposition: attachment; filename=".$key.".".$ext);
header("Content-length: " . filesize($path));
header("Pragma: no-cache");
header("Expires: 0");
ob_clean();
flush();
readfile($path);
unlink($path);
die;
}
return $this->respondDownloadFailed();
}
Теперь, когда на сервере создается .zip
, я могу открыть и распаковать его.Однако, когда я загружаю его с помощью приведенного выше кода, я получаю zip-файл, который затем распаковывается в файл .cpgz
.Разархивируя это, я снова получаю .zip
.Есть идеи о том, что идет не так?