php生成pdf中文断码_php生成pdf损坏的文件

博客作者遇到了一个PDF报告在Web浏览器中打开正常,但在AdobeReader中显示错误的问题。经过调查,发现是由于一个cron作业更新了文件导致的问题,修复后报告能正常打开。代码中使用了`Schedule()`和`Search()`函数,并设置了HTTP头来提供PDF内容。
摘要由CSDN通过智能技术生成

我有一个以PDF格式生成的BIRT报告。该报告将从Web浏览器打开。但是,在Adobe Reader中打开文件时,出现以下错误消息:

Adobe Reader could not open 'test.pdf' because it is either not a supported file type or because the file has been damaged (for example, it was sent as an email attachment and wasn't correctly decoded).

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

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作业更新被调用的文件。这更新了文件无用,并已被修复。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值