Laravel zipArchive броски Сайт не доступен - PullRequest
0 голосов
/ 22 ноября 2018

Я пытаюсь скачать PDF-файлы и архивировать их с помощью ZipArchive.Но это выдает мне сообщение «Этот сайт недоступен».

Вот мой код:

$zip = new \ZipArchive();
$archive_file_name = date('YmdHis') . '.zip';

if ($zip->open($archive_file_name, $zip::CREATE) !== true) {
    exit("cannot open <$archive_file_name>\n");
}

foreach ($Contracts as $Contract) {

    if (!$Contract->parent_id) {
        $template = $request->template;
    } else {
        $template = $request->template_amendment;
    }

    $pdf = $Contract->getPdfPath($template);

    /** @var \Dompdf\Dompdf $dompdf */
    if (!$pdf && $dompdf = $Contract->generatePdf(true, true, $template)) $pdf = $dompdf->path;

    $ContractPdf = \App\Models\ContractPdf::where('contract_id', $Contract->id)->where('pdf_template', $template)->orderBy('created_at', 'desc')->first();
    $unprotected = str_replace($ContractPdf->pdf_filename, 'unprotected/' . $ContractPdf->pdf_filename, $pdf);

    if ($unprotected && file_exists($unprotected)) $pdf = $unprotected;

    $zip->addFile($Storage->url($pdf), $ContractPdf->pdf_filename);

}

$zip->close();

//then send the headers to force download the zip file
header("Content-type: application/zip");
header("Content-Disposition: attachment; filename=$archive_file_name");
header("Pragma: no-cache");
header("Expires: 0");
readfile("$archive_file_name");
exit;

- проблема в моем коде или в локальных настройках?и как мне это исправить?

1 Ответ

0 голосов
/ 22 ноября 2018

Дело закрыто!

Какой я глупый!Я должен был поставить $pdf в addFile() параметр вместо $Storage->url($pdf)

...