好家伙,我有流的PDF文件到PHP的问题,我使用这个代码:PHP流PDF和ReadFile的产生损坏的PDF
if(file_exists($path))
{
//octet-stream
header("Content-Length: " . filesize ($path));
header("Content-type: application/octet-stream");
header("Content-disposition: attachment; filename=".basename($path));
readfile($path);
}
这是我的目录结构(这样你就可以理解其中PDF存储):
Parent/
verify.php
auth/
pdf/
login.php
如果我从verify.php按预期的所有作品流的PDF文件...但是,如果我从他们的login.php被损坏流都相同PDF文件(损坏)。在login.php中
$path = "pdf/" . $filename . "_print.pdf";
在这里,我的路径定义
这里我的路径定义verify.php
$path = "auth/pdf/" . $filename . "_print.pdf";
Obviosly路径定义为前车流的代码。
pdf文件的平均尺寸高达50Kb。
该文件存在beacuse通过if检查,但我不知道为什么在一个地方是好的,而在另一个损坏。 (我已经检查到目录中的文件没关系)。
对不起,我可怜的英语,并提前谢谢你。
Unfortunaltly,这是不是怎么把文件的情况下”不inclueded我直接调用的login.php。 但是我试过在$ path中指定完整路径,如下所示: '$ path =“/ home/eldblz/www/auth/pdf /”。 $文件名。 “_print.pdf”;' (“父母”仅用于示例目的) 脚本通过file_exists检查呈现文件但已损坏。 无论如何,谢谢你的回复。 – eldblz 2011-05-19 09:22:37
啊,对不起,我错过了你问题的最后2句话......在这种情况下,可能是破坏了来自login.php的数据(一些PHP通知或警告),所以检查你的代码。用记事本或其他东西打开从login.php文件下载并搜索“通知/警告”。或者如果你有比较2个文件的东西(比如总指挥官),你可以比较通过'verify'和'login'脚本下载的文件,并找出问题所在。 – Slava 2011-05-19 09:33:03