Получение данных формы 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