В моем проекте мы использовали связку maennchen/ZipStream-PHP. Сейчас пытаюсь создать и скачать zip файл, но когда открываю zip файл у меня ошибка "пустой архив".
return new StreamedResponse(function() use ($filenames, $logger) {
$filename = 'example.zip';
$opt = new ArchiveOptions();
$opt->setContentDisposition("attachment;filename=\"$filename\"");
$opt->setContentType('application/octet-stream');
$opt->setEnableZip64(false);
$opt->setFlushOutput(true);
$opt->setSendHttpHeaders(true);
$zip = new ZipStream($filename, $opt);
foreach ($filenames as $f) {
if (true === file_exists($f)) {
try {
$zip->addFileFromPath(basename($f), $f);
} catch (\Exception $exception) {
$logger->error($exception->getMessage());
}
} else {
$logger->error(sprintf('File %s does not exist.', $f));
}
}
$zip->finish();
});
Если я дамп $zip, то аргумент файла будет пустым. Я думаю, что метод addFile не работает.
Вы можете помочь мне?
Заранее спасибо.