Получение данных формы PDF в PHP

Поэтому я искал в Интернете несколько часов, что, на мой взгляд, является очень простым ответом, но я не могу его найти.

Я пытаюсь понять, как работает отправка данных в формате PDF. Моя цель - прочитать данные формы, отправленные из формы PDF, которую я настроил в своем скрипте PHP. Я хочу, чтобы мой PHP-скрипт анализировал данные формы и вставлял их в базу данных SQL.

Как я могу получить файл, чтобы разобрать его?

Какое имя файла файла, который будет отправлен?

У меня есть настроенная кнопка отправки в моей PDF-форме, и я могу экспортировать ее в FDF, HTML или XFDF, но я просто пытаюсь получить данные в строку или каким-то образом передать содержимое в PHP, но я не знаю как.

Если я попробую:

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

Мне все еще нужно имя файла, и я не знаю имя файла, который отправляется из формы PDF. Как я могу получить имя этого файла? Это даже файл или просто строка xml? Если это просто строка XML, как мне получить это?

Любая помощь будет признательна или если кто-то может указать мне в правильном направлении.

1 ответ

Я думаю, что наконец-то узнал ответ на этот вопрос. Я использовал этот код:

$ 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("\r\n", $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("\r\n\r\n", $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
Другие вопросы по тегам