php生成pdf损坏的文件

时间:2012-07-27 21:21:28

标签: php pdf birt adobe-reader

我有一份以PDF格式生成的BIRT报告。然后从Web浏览器打开报告。但是,在Adobe Reader中打开文件时,我收到以下错误消息:

  

Adob​​e Reader无法打开'test.pdf',因为它不是受支持的文件类型,或者因为文件已损坏(例如,它是作为电子邮件附件发送的,并且未正确解码)。

当我从命令行运行完全相同的代码(从Schedule()和Search()调用时(代码在PHP中),我得到相同的报告,但Adobe Reader能够打开它。这是我用来从浏览器中读取文件的代码:

<?php
  require "Search.php";
  require "Schedule.php";

  Schedule( $_POST['period'], mktime(23, 59, 59, $_POST['month'] + 1,
                                     $_POST['day'] + 1, $_POST['year']) );

  Search( $param1, $param2, $param3, $param4 );

  header('Content-type: application/pdf');
  header('Content-Disposition: attachment; filename="test.pdf"');
  readfile('/home/web/test.pdf');
?>

Schedule()和Search()都已经过测试,它们不应该导致任何问题。由于我还是PHP新手,有什么我想念的东西,我还不知道吗?非常感谢任何有关此问题的帮助。

-rusty

更新:事实证明,我发现一个cron作业更新了一个被调用的文件。这更新了文件是无用的,并且已经修复。

0 个答案:

没有答案