我使用mpdf生成使用输出缓冲的pdf文件。在函数之外生成pdf是没有问题的。问题是,它无法在函数中生成pdf。没有生成pdf文件。pdf中包含的数据是下面foreach循环中的图像文件。
include("search/mpdf/mpdf.php");
function generatecont ($firstdate, $seconddate, $allfiles) {
echo '<div class="displayoutput" style="display:none;">';
echo "<a href='data/pdf/".$_GET["parameter"].'-'.$firstdate .'-'. $seconddate. '.pdf' ."'>Download PDF </a>";
//include("search/mpdf/mpdf.php");
global $html;
global $mpdf;
$mpdf=new mPDF();
ob_start();
foreach ($allfiles as $filesfound) {
echo '<h1 class="displaytitle">'.strtoupper(substr(basename($filesfound), 0,-4)). '</h1>';
echo '<div class="visualize">'.'<img src="'. $filesfound. '"></div>';
}
$html = ob_get_contents();
ob_get_flush();
$mpdf->WriteHTML($html);
$mpdf->Output('data/pdf/'.$_GET["parameter"].'-'.$firstdate .'-'. $firstdate. '.pdf','F');
echo '</div>';
}
我会先检查权限,以及任何输出/日志消息。此外,在第一部分中生成的链接使用$seconddate
,但在末尾附近保存的文件使用$firstdate
两次。因此,生成的文件与链接的文件不同。