'Zip and download multiple PDFs from php

I have a php file that downloads PDFs. I call the php as GeneratePDF.php?id=123 and the php looks like this:

<?php
use setasign\Fpdi\Fpdi;

session_start();
ob_start();

require_once __DIR__ . '/vendor/autoload.php';

require_once('FPDI/autoload.php');
require_once('fpdf/fpdf.php'); 
require_once('FPDI/Fpdi.php'); 

$pdf = new \Mpdf\Mpdf();

$pdf->AddPage(); 

$pdf->setSourceFile('sample.pdf'); 

$tplIdx = $pdf->importPage(1); 

$pdf->useTemplate($tplIdx, 0, 0, 297, 420, true); 


$pdf->AddPage(); 
$tplIdx2 = $pdf->importPage(2); 
$pdf->useTemplate($tplIdx2, 0, 0, 297, 420, true); 
$id=$_GET['id'];
$pdf->Output("$id.pdf", "D");
ob_end_flush(); 
?>

I am now using another php file to download a set of GeneratePDF.php such as

GeneratePDF.php?id=123
GeneratePDF.php?id=456
GeneratePDF.php?id=789

From this php, I want to zip these 3 files and download it. I know the way to do it would be to use ZipArchive but how do I do I call all 3 GeneratePDF.php and add it to zip?

ZipArchive.php

<?php

session_start();
ob_start();


$zip = new ZipArchive;
$tmp_file = "PDF_Documents_".date('Y_m_d').".zip";

    //How do I add set of pdfs from GeneratePDF.php?
        
   } else {
       echo 'Failed!';
   }

Can someone help me figure this out?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source