PHP可以处理作为完整PDF文档提交的PDF表单

时间:2011-06-08 20:11:17

标签: php pdf file-upload

简而言之:

我有一个客户可以填写的PDF。当他们按下“提交”按钮时,我想自动发送附有完整PDF的电子邮件。这应该发生在服务器端,没有客户的进一步交互。

长期:

目前我有PDF设置将数据作为html表单数据发布到服务器。然后,我的PHP脚本处理此数据并发送包含数据的纯文本电子邮件。接收电子邮件的人更愿意拥有实际PDF的副本,而不仅仅是纯文本。

因此,在Adobe Acrobat 9 Pro中,我将“提交”按钮设置为“PDF完整文档”(如下所示)。

enter image description here

问题是,我不知道在PHP中做什么来处理这个问题。我假设它会作为$_FILES数组的一部分上传到服务器,但print_r($_FILES)显示一个空数组,count$_FILES的{​​{1}}是$_POST

所以我的问题是,上传的pdf发生了什么?我有什么办法可以用PHP把这个pdf变成电子邮件附件吗?我不认为我遇到了文件大小的问题; 0为2MB,PDF仅约为725kb。


我实际上最终将FDF数据发送到服务器而不是整个PDF。这意味着我必须在我的PHP中编写一大堆乱码来处理FDF,但总的来说它是一个较小的上传,它满足了客户的要求。如果您确实需要上传整个PDF,Patrick's answer below应该是正确的 - 您应该能够在post_max_size中找到上传的pdf。

2 个答案:

答案 0 :(得分:1)

您可以从 $ GLOBALS ['HTTP_RAW_POST_DATA']中提取原始PDF数据。您可以将其输出到文件并像打开任何PDF一样打开它。

答案 1 :(得分:0)

如果您的$_FILES数组为空,则可能使用了错误的<form enctype="">属性值。检查您是否:

enctype="multipart/form-data"

这是表单允许发送文件所必需的。然后你可以使用上传的文件并将其发送到客户端,这似乎是你的能力。