0
我有一個使用fpdf生成pdf的腳本,該文件在我的電腦上的服務器上正確保存。在同一個php文件中,我運行下面的代碼來下載文件。當我下載pdf並在記事本中檢查時,pdf中的所有內容都是相同的,除了它在開頭包含了很多以前的文件html。保存到我的服務器的文件沒有任何。爲什麼我的PDF下載受損?
什麼會導致這樣的事情發生?我不知道在哪裏尋找這個錯誤的根源,任何人都可以指出我發現問題的方向嗎?
<?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');
?>
我收到以下錯誤:解析錯誤:語法錯誤,意外的''.pdf''(T_CONSTANT_ENCAPSED_STRING)在C:\ xampp \ htdocs \ download.php在行33 – user42537
輸出緩衝區可能會導致該錯誤。你的問題很可能沒有包含完整的例子來重現這一點,在你發佈之前有HTML。它進入輸出緩衝區,然後附加到響應主體,即在「readfile」輸出之前。請參閱:http://php.net/book.outcontrol – hakre
您認爲清除緩衝區可以解決該問題嗎? – user42537