<?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文件而且它不是空白/空。
答案 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);