Pergunta

Eu quero receber o seguinte pedido HTTP em 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--

. (Nota: Eu tenho recuado as sub-partes apenas para torná-lo mais legível para este post)

Eu não sou muito fluente em PHP e gostaria de obter alguma ajuda / ponteiros para descobrir como para receber este tipo de pedido formulário de várias em código PHP. Eu tenho uma vez escrito algum código onde eu recebi um formulário HTML padrão e, em seguida, eu poderia acessar os elementos de formulário usando seu nome como chave de índice na matriz $HTTP_GET_VARS, mas neste caso não há nomes dos elementos, e as partes de dados formulário são não lineares (isto é sub-partes = matriz de múltiplos níveis).

grato por qualquer ajuda!

/ Robert

Foi útil?

Solução

$HTTP_GET_VARS, $HTTP_POST_VARS, etc. é uma notação obsoleto, você deve estar usando $_GET, $_POST, etc.

Agora, o conteúdo do arquivo deve estar na matriz global $_FILES, ao passo que, se não houver nomes de elementos, eu não tenho certeza sobre se o resto do conteúdo vai aparecer em $_POST. De qualquer forma, se a definição always_populate_raw_post_data é verdade em php.ini , os dados devem estar em $HTTP_RAW_POST_DATA. Além disso, todo o pedido deve aparecer ao ler php:. // input

Outras dicas

Você deve observar:

“php: // input permite ler dados POST matérias. É uma alternativa intensivo de memória menos a US $ HTTP_RAW_POST_DATA e não precisa de qualquer diretivas do php.ini especiais. php: // input não está disponível com enctype =”multipart / form-data”

De manual do php ... assim parece php: // input não está disponível

Não posso comentar ainda, mas isso é intened para complementar pilsetnieks resposta

arquivos Uploadeds será acessível através da variável global $ _FILE, outros parâmetros serão trough acessível a variável global $ _GET.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top