0

我有一个生成 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 收到输出错误。

任何帮助表示赞赏

4

1 回答 1

3

您需要使用ob_end_clean()而不是ob_flush();

ob_flush();将打印 html 而您不希望这样。由于 FPDF 创建 pdf 并需要操作标题(成为 pdf)。如果您首先回显/打印某些内容,php 将自动设置默认标头。一旦设置它们,库就无法修改它们,从而导致错误。

将 ob 的内容放入 var( $contents = ob_get_contents();) 后,您就可以使用ob_end_clean(). 这将丢弃缓冲区的内容并停止缓冲。

于 2012-09-12T14:46:42.097 回答