我有一种情况,比如创建多个pdf文件并下载为zip文件。
我尝试使用以下代码
function downloadZip()
{
if ($this->input->post('btn_submit'))
{
$data = array(
'results' => $this->Mdi_download_invoices->download_pdf_files($this->input->post('client_id'))
);
foreach ($data['results'] as $d)
{
$mpdf = new \Mpdf\Mpdf();
$html = $this->load->view('download_all_invoices/pdf',$d,true);
$mpdf->WriteHTML($html);
$mpdf->Output(); //this will create a pdf file in next tab
$this->load->library('zip');
$this->zip->add_data();
$this->zip->archive('/var/www/my_backup.zip');
$this->zip->download('my_backup.zip');
}
}
如何将所有pdf文件存储在数组中?
答案 0 :(得分:0)
试试这段代码。
$i = 0;
foreach ($data['results'] as $d)
{
$mpdf = new \Mpdf\Mpdf();
$html = $this->load->view('download_all_invoices/pdf',$d,true);
$mpdf->WriteHTML($html);
$mpdf->Output(); //this will create a pdf file in next tab
$this->zip->add_data('file-'.$i.'.pdf',$d);
$i++;
}
$this->zip->archive('/var/www/my_backup.zip');
$this->zip->download('my_backup.zip');
通过这个你可以在Zip中添加每个PDF文件,在循环之后你可以生成一个zip文件并下载它。我没有测试过,所以请忽略语法错误,但你会从中得到一个想法。