简而言之:
我有一个客户可以填写的PDF。当他们按下“提交”按钮时,我想自动发送附有完整PDF的电子邮件。这应该发生在服务器端,没有客户的进一步交互。
长期:
目前我有PDF设置将数据作为html表单数据发布到服务器。然后,我的PHP脚本处理此数据并发送包含数据的纯文本电子邮件。接收电子邮件的人更愿意拥有实际PDF的副本,而不仅仅是纯文本。
因此,在Adobe Acrobat 9 Pro中,我将“提交”按钮设置为“PDF完整文档”(如下所示)。
问题是,我不知道在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。
答案 0 :(得分:1)
您可以从 $ GLOBALS ['HTTP_RAW_POST_DATA']中提取原始PDF数据。您可以将其输出到文件并像打开任何PDF一样打开它。
答案 1 :(得分:0)
如果您的$_FILES
数组为空,则可能使用了错误的<form enctype="">
属性值。检查您是否:
enctype="multipart/form-data"
这是表单允许发送文件所必需的。然后你可以使用上传的文件并将其发送到客户端,这似乎是你的能力。