我有一个使用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');
?>
答案 0 :(得分:1)
由于hakre,我设法解决了问题!基本上我只需要在使用readfile()和代码工作之前使用ob_clean()清除输出缓冲区!