request_parse_body

(PHP 8 >= 8.4.0)

request_parse_bodyLê e analisa o corpor da requisição e retorna o resultado

Descrição

request_parse_body(?array $options = null): array

Esta função lê o corpo da requisição e analisa-o de acordo com o cabeçalho Content-Type. Atualmente, dois tipos de conteúdo são suportados:

  • application/x-www-form-urlencoded
  • multipart/form-data

Esta função é usada primariamente para analisar requisições multipart/form-data com verbos HTTP diferentes de POST que não populam automaticamente as superglobais $_POST e $_FILES.

Cuidado

request_parse_body() consome o corpo da requisição sem fazer buffer para o fluxo php://input.

Parâmetros

options
O parâmetro options aceita um array associativo para substituir as seguintes configurações globais do php.ini para analisar o corpo da requisição.
  • max_file_uploads
  • max_input_vars
  • max_multipart_body_parts
  • post_max_size
  • upload_max_filesize

Valor Retornado

request_parse_body() retorna um array com o equivalente de $_POST no índice 0 e o de $_FILES no índice 1.

Erros/Exceções

Quando o corpo da requisição for inválido, de acordo com o cabeçalho Content-Type, uma exceção RequestParseBodyException é lançada.

Uma exceção ValueError é lançada quando options contiver chaves inválidas ou valores inválidos para a chave correspondente.

Exemplos

Exemplo #1 Exemplo de request_parse_body()

<?php
// Analisa o resultado e armazena-o nas superglobais $_POST e $_FILES.
[$_POST, $_FILES] = request_parse_body();
// Exibe o conteúdo de um arquivo transferido
echo file_get_contents($_FILES['file_name']['tmp_name']);
?>

Exemplo #2 Exemplo de request_parse_body() com opções personalizadas

<?php
// form.php

assert_logged_in();

// Apenas para este formulário, um tamanho maior de envio é permitido.
[$_POST, $_FILES] = request_parse_body([
'post_max_size' => '10M',
'upload_max_filesize' => '10M',
]);

// Faz algo com os arquivos enviados.
?>
adicione uma nota

Notas Enviadas por Usuários (em inglês)

Não há notas de usuários para esta página.
To Top