(PHP 8 >= 8.4.0)
request_parse_body — Lê e analisa o corpor da requisição e retorna o resultado
   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.
  
    request_parse_body() consome o corpo da requisição sem
    fazer buffer para o fluxo php://input.
   
optionsoptions aceita um array associativo
      para substituir as seguintes configurações globais do php.ini para analisar o
      corpo da requisição.
     
     max_file_uploadsmax_input_varsmax_multipart_body_partspost_max_sizeupload_max_filesize
   request_parse_body() retorna um array com o
   equivalente de $_POST no índice 0 e o de
   $_FILES no índice 1.
  
   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.
  
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.
?>