为什么我的PDF下载损坏了?


Why is my PDF download corrupted?

我有一个使用fpdf生成pdf的脚本,该文件正确保存在我计算机上的服务器上。在同一个php文件中,我运行以下代码来下载该文件。当我下载pdf并在记事本中检查它时,pdf中的所有内容都是相同的,除了它在开头包含了许多我以前的文件html。保存到我服务器上的文件没有这些。

什么会导致这样的事情发生?我不知道在哪里寻找这个错误的来源,谁能告诉我找到问题的方向?

<?php
$filename=($name.$ran.'.pdf');
$pdf->Output($name.$ran.'.pdf');
header ("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header('Content-Type: application/octetstream');
    header("Content-Transfer-Encoding: Binary");
    header("Content-length: ".filesize($filename));
    header("Content-disposition: attachment; filename='"".basename($filename)."'"");
readfile($name.$ran.'.pdf');
?>

多亏了哈克雷,我总算把事情弄明白了!基本上,我只需要在使用readfile()之前使用ob_clean()清除输出缓冲区,代码就可以工作了!