我有一个文件,它生成html并使用缓冲区将其添加到php字符串中
<?php ob_start(); ?>
<table>
<tr>
<td>Content</td>
</tr>
</table>
<?php
$contents = ob_get_contents();
ob_flush();
mail($to, $subject, $contents, $headers);
?>
有没有一种方法可以使用php将字符串的内容保存为服务器上的pdf文件?我尝试过使用FPDF,但它不起作用,因为内容位于页面顶部,并且我从FPDF得到了一个输出错误。
感谢的任何帮助
您需要使用ob_end_clean()
而不是ob_flush();
ob_flush();
将打印html,而您不希望这样。由于FPDF创建了一个pdf文件,并且需要操作标题(成为pdf文件)。如果您首先回显/打印某个内容,php将自动设置默认标头。一旦设置了它们,库就无法修改它们,从而导致错误。
将ob的内容放入var($contents = ob_get_contents();
)后,可以使用ob_end_clean()
。这将丢弃缓冲区的内容并停止缓冲。