pdf php下载生成空文件

时间:2012-10-10 14:18:31

标签: php pdf

<?php
header('Content-disposition: attachment; filename=Booking.pdf');
header('Content-type: application/pdf');
readfile('http://mysite.com/Booking.pdf');
?>

为什么将Booking.pdf文件下载为空!??

mac和windows都说: 无法打开“Booking.pdf”文件,因为它是空的。

检查了google和stackoverflow,找不到相关信息...有没有人经历过这个?

ps:我只找到了这个论坛帖子:'我认为在线问题有点偏离主题,但通常是由于在FTP的ASCII模式而不是二进制文件中将PDF加载到服务器。这会创建一个损坏的文件。一定要打开二进制传输',但在这种情况下不是这样,因为我可以在iframe中显示相同的pdf文件而且它不是空白/空。

1 个答案:

答案 0 :(得分:4)

您需要更改

  readfile('http://mysite.com/Booking.pdf');

  readfile(__DIR__ . '/Booking.pdf');

实施例

$file = __DIR__ . '/test.pdf' ;
header('Content-disposition: attachment; filename=Booking.pdf');
header('Content-type: application/pdf');
header("Content-length: ".filesize($file));
readfile($file);