Генерация нескольких PDF-файлов с помощью TCPDF и сохранение в zip-файле приводит к повреждению zip-файла.

Я создаю PDF-файлы с циклом, используя TCPDF, PDF-файлы создаются отлично, без ошибок. Я использую сервер wamp, поэтому файлы хранятся в C:\wamp64\tmp, сейчас я пытаюсь добавить сгенерированные файлы в zip-архив.

Это код, который у меня есть. Я проигнорировал содержимое pdf, чтобы сэкономить место, так как упомянул, что создание PDF работает отлично.

<?php
//$tmp is the path of temp folder C:\wamp64\tmp
$tmp = ini_get('upload_tmp_dir');

//The number of files that will be created
$num_contactos = sizeof($contactos);

$file = $tmp.'/my-pdf.zip';
$zip = new ZipArchive();
$zip->open($file, ZipArchive::OVERWRITE);

for ($i = 0; $i < $num_contactos; $i++) {

    // create new PDF document
    $pdf = new MYPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

    // add a page
    $pdf->AddPage();

    $html = 'PAGE CONTENT';

    // set core font
    $pdf->SetFont('helvetica', '', 10);

    // output the HTML content
    $pdf->writeHTML($html, true, 0, true, true);

    // reset pointer to the last page
    $pdf->lastPage();

    //PDF file is created in temp folder. This works fine.
    $pdf->Output($tmp.'/POG - '.$i.'.pdf', 'F');

    // ADD PDF FILE TO ZIP
    $zip->addFile($tmp.'/POG - '.$i.'.pdf', 'POG - '.$i.'.pdf');
}
//After I loop ends, I close the zip file and force download
$zip->close();
header('Content-type: application/zip');
header('Content-Disposition: attachment; filename="my-pdf.zip"');
readfile('my-pdf.zip');
?>

Файл zip загружается, но я не могу открыть его, потому что он поврежден. Что может быть причиной этой проблемы?

0 ответов

Другие вопросы по тегам