Ошибка при загрузке ZIP-архива, содержащего несколько файлов.Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка при загрузке ZIP-архива, содержащего несколько файлов.

Сообщение Anonymous »

У меня возникли проблемы с загрузкой zip-архива, содержащего несколько файлов. При попытке открыть скачанный архив возникает ошибка. Вот как я генерирую пути к файлам:
public/files/news/downloadable/3C1FVuFx13iH4og3zjferjx8qhQj1js2RUqDOCXG.pdf

Код: Выделить всё

public function downloadAllCertificates(Request $request)
{
try {
$certificateIds = $request->input('certificate_ids');

$zipFileName = 'all_certificates.zip';
$zipFilePath = public_path($zipFileName);
$zip = new \ZipArchive();
$zip->open(public_path($zipFileName), \ZipArchive::CREATE | \ZipArchive::OVERWRITE);

foreach ($certificateIds as $certificateId) {
$certificate = UserCertificate::findOrFail($certificateId);
$filePath = storage_path('app/' . $certificate->path);
if (file_exists($filePath)) {
$zip->addFile($filePath);
} else {
throw new \Exception("File not found for certificate ID: $certificateId");
}
}

$zip->close();

$zipSize = filesize($zipFilePath);

return response()->download(public_path($zipFileName));
} catch (Exception $e) {
Log::error($e->getMessage());
return response()->json(['error' => 'Failed to create zip file'], 500);
}
}
Я пробовал загружать файлы по отдельности, все работает нормально. Однако я получаю сообщение об ошибке, когда помещаю их в zip-архив и пытаюсь его загрузить. Я подозреваю, что возникла проблема с тем, как я создаю архив.
Кроме того, я проверил размер моего архива с помощью функции size(), и он вернул 265 530 байт. Это стандартный размер архива, содержащего два PDF-файла?
Будем очень признательны за любую помощь или информацию о том, что может быть причиной этой проблемы.

Подробнее здесь: https://stackoverflow.com/questions/783 ... iple-files
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»