我使用TCPDF生成带循环的PDF,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文件已下载但我无法打开它,因为它已损坏。可能导致这个问题的原因是什么?