接收PDF形式数据中的PHP



所以我一直在网上寻找几个小时的我认为是一个非常简单的答案,但我似乎找不到它。

我试图了解PDF表单如何提交的工作方式。我的目标是阅读从我在PHP脚本中设置的PDF表单提交的表单数据。我希望我的PHP脚本解析表单数据并将其插入我的SQL数据库。

我遇到的障碍是如何接收文件以便解析?

提交的文件的文件名是什么?

我在PDF表单上有我的提交按钮设置,可以将其导出以FDF,HTML或XFDF导出,但我只是想将数据输入字符串或以某种方式将内容输送到PHP中知道如何。

如果我尝试:

$ filefrompdf = file_get_contents('file.txt',true);

我仍然需要文件的名称,我不知道从PDF表单提交的文件的名称。如何获取此文件的名称?是文件还是XML行?如果只是XML线,我该如何收到此?

任何帮助将不胜感激,或者如果有人可以将我指向正确的方向。

我想我终于找到了答案。我使用了此代码:

$ post_body = file_get_contents('php://input');

我能够得到一个字符串。

如果有人知道更好的方法,我全都是耳朵。谢谢!

function ArrayFromHttpPut() { # assume a simple PUT, like a PDF form submission
  $arrRtn = array();                                   # init result
  $strInp = file_get_contents('php://input');          # PUT data comes in on StdIn, not in GET
  $arrInp = explode("rn", $strInp, 2);               # break input into array by only the first CrLf
  $strBnd = $arrInp[0];                                # first line of input is content boundary
  $strInp = $arrInp[1];                                # proceed with remainder of input
  $arrInp = explode($strBnd, $strInp);                 # break input into array by content boundary
  foreach ($arrInp as $idxInp => $strInp) {            # scan input items
    $arrItm = explode("rnrn", $strInp, 2);         # break each item into array by only the first double-blank line
    $arrItm[0] = trim($arrItm[0]);                     # drop spurious leading and trailing
    $arrItm[1] = trim($arrItm[1]);                     #   blank lines from both parts
    $arrItmNam = explode('=', $arrItm[0]);             # break item name away from Content-Disposition wording
    $strItmNam = str_replace('"', '', $arrItmNam[1]);  # get item name without its enclosing double-quotes
    $strItmVal =                      $arrItm   [1] ;  # get item value
    $arrRtn[$strItmNam] = $strItmVal;                  # append (item-name => item-value) to output buffer
  }                                                    # done with scanning input items
  return $arrRtn;                                      # pass result back to caller
} # ArrayFromHttpPut

相关内容

  • 没有找到相关文章

最新更新