我正在使用PHP和fpdf收集表单数据并生成输出到PDF文件。我想直接在浏览器中打开生成的PDF文件,并自动将PDF文件保存到客户端。首先我可以通过在output()命令中使用“I”参数来实现,然后使用“D”参数。我可以同时使用这两个命令,以便PDF文件将被自动保存,用户也将立即看到PDF文件在浏览器中?
注意:我不想强制用户执行其他步骤,如保存PDF或打开下载的PDF。这两个步骤都应该自动完成。
我可以同时使用Output()“F”和“I”参数,但“F”会将文件保存到服务器端。
我试着跟随:
file = $customer.'.pdf';
$pdf-> output($file,'D');
$pdf-> output($file,'I');
字符串
还有:
file = $customer.'.pdf';
$pdf-> output($file,'I');
$pdf-> output($file,'D');
型
在这两种情况下,第一行被执行,而不是后面。
1条答案
按热度按时间ryevplcw1#
要理解为什么这是没有意义的,你必须了解一点关于网络是如何工作的:
请注意,服务器不可能为一个请求发送两个响应,或者在浏览器上显式地命令操作,只发送如何处理响应的建议。
在FPDF的情况下,“D”和“I”选项都发送PDF的 * 内容 * 作为响应的主体。它们之间唯一的区别是它们发送不同的 * 头 * -具体来说,是“内联”的
Content-Disposition
头。(建议浏览器直接显示内容)或“附件”(建议浏览器将文件保存到本地目录,或显示“保存为.”对话框,以及建议的文件名)。虽然可能有一些复杂的技巧,你可以做客户端JavaScript,你最好选择一个或另一个: