PHP:mPDF/pdf库/是否可以在循环中创建多个pdf文件?

suz*_*suz 2 php pdf mpdf

我正在使用mPDF库,我正在尝试编写一个代码,它将在一次调用时创建多个PDF文件(一次打开:test.php).问题:始终只下载第一个文件.我知道这个问题可能看起来很愚蠢,我试图深入谷歌,但我无法弄清楚如何解决这个问题.也许有人可以带领我走上正确的道路?

我的逻辑是:
- 我有一个包含所有订单的数组; 对于我想创建PDF的每个订单.
- 我循环数组,每次调用MPDF库

test.php的

$myorders = [ 
                0 => array (
                'FirstName' => 'Asia',
                'LastName' => 'Basia',
                'OrderNr' => '123'

                ), 

                1 => array (
                'FirstName' => 'Madzia',
                'LastName' => 'Siasia',
                'OrderNr' => '456'
                )
           ];

for ($i=0; $i < count($myorders); $i++) { 
    $FirstName = $myorders[$i]['FirstName'];
    $LastName = $myorders[$i]['LastName'];
    $OrderNr = $myorders[$i]['OrderNr'];
    require 'invoice.php';
}
Run Code Online (Sandbox Code Playgroud)

invoice.php

require 'MPDF57/mpdf.php';
$mpdf=new mPDF();
$mpdf->Bookmark('Start of the document');
$mpdf->WriteHTML('test test' . $FirstName);
$mpdf->Output("filename{$OrderNr}.pdf",'D');
Run Code Online (Sandbox Code Playgroud)

仅下载filename123.pdf.是否无法下载多个文件?我究竟做错了什么?

小智 5

您更新的问题的答案是:

当然,您可以创建多个pdf文件并将其保存到光盘上.您只需将pdf生成代码放在for循环中.

请参考下面提到的代码:

require 'MPDF57/mpdf.php';

for ($i=0; $i < count($myorders); $i++) { 
    $FirstName = $myorders[$i]['FirstName'];
    $OrderNr = $myorders[$i]['OrderNr'];
    $mpdf=new mPDF();
    $mpdf->Bookmark('Start of the document');
    $mpdf->WriteHTML('test test' . $FirstName);
    $mpdf->Output("filename{$OrderNr}.pdf", 'F');
}
Run Code Online (Sandbox Code Playgroud)