Получение составных запросов данных POST в PHP - PullRequest
1 голос
/ 19 сентября 2008

Я хочу получить следующий HTTP запрос в PHP:

Content-type: multipart/form-data;boundary=main_boundary

--main_boundary
Content-type: text/xml
<?xml version='1.0'?>
<content>
Some content goes here
</content>

--main_boundary
Content-type: multipart/mixed;boundary=sub_boundary

  --sub_boundary
  Content-type: application/octet-stream

  File A contents

  --sub_boundary
  Content-type: application/octet-stream

  File B contents

  --sub_boundary

--main_boundary--

(Примечание: я выделил подпункты только для того, чтобы сделать его более читабельным для этого поста.)

Я не очень хорошо говорю на PHP и хотел бы получить справку / указатели, чтобы выяснить, как получить этот вид многочастного запроса формы в коде PHP. Однажды я написал некоторый код, в котором получил стандартную HTML-форму, а затем я мог получить доступ к элементам формы, используя их имя в качестве ключа индекса в массиве $HTTP_GET_VARS, но в этом случае нет ни имен элементов формы, ни данных формы части не являются линейными (то есть подчасти = многоуровневый массив).

Благодарен за любую помощь!

/ Robert

Ответы [ 3 ]

3 голосов
/ 19 сентября 2008

$HTTP_GET_VARS, $HTTP_POST_VARS и т. Д. Являются устаревшими обозначениями, вы должны использовать $_GET, $_POST и т. Д.

Теперь содержимое файла должно быть в глобальном массиве $_FILES, тогда как, если нет имен элементов, я не уверен, будет ли остальная часть содержимого отображаться в $_POST. В любом случае, если значение always_populate_raw_post_data установлено в php.ini , данные должны быть в $HTTP_RAW_POST_DATA. Кроме того, весь запрос должен отображаться при чтении php: //input.

1 голос
/ 16 августа 2013

Обратите внимание:

«php: // input позволяет читать необработанные данные POST. Это менее ресурсоемкая альтернатива $ HTTP_RAW_POST_DATA и не требует каких-либо специальных директив php.ini. php: // ввод недоступен с enctype = ”multipart / form-data”

Из руководства по PHP ... кажется, что php: // ввод недоступен

Пока не могу комментировать, но это призвано дополнить ответ pilsetnieks

0 голосов
/ 19 сентября 2008

Загруженные файлы будут доступны через глобальную переменную $ _FILE, другие параметры будут доступны через глобальную переменную $ _GET.

...