request_parse_body

(PHP 8 >= 8.4.0)

request_parse_bodyLee y analiza el cuerpo de la petición y devuelve el resultado

Descripción

request_parse_body(?array $options = null): array

Esta función lee el cuerpo de la petición y lo analiza según la cabecera Content-Type. Actualmente, se admiten dos tipos de contenido:

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

Esta función se utiliza principalmente para analizar las peticiones multipart/form-data con verbos HTTP distintos de POST que no rellenan automáticamente las superglobales $_POST y $_FILES.

Precaución

request_parse_body() consume el cuerpo de la petición sin almacenarlo en el búfer en el flujo php://input.

Parámetros

options
El argumento options acepta un array asociativo para sobrescribir los parámetros globales de php.ini siguientes para el análisis del cuerpo de la petición.
  • max_file_uploads
  • max_input_vars
  • max_multipart_body_parts
  • post_max_size
  • upload_max_filesize

Valores devueltos

request_parse_body() devuelve un array con el equivalente de $_POST en el índice 0 y $_FILES en el índice 1.

Errores/Excepciones

Cuando el cuerpo de la petición no es válido según la cabecera Content-Type, se lanza una RequestParseBodyException.

Se lanza una ValueError cuando options contiene claves no válidas, o valores no válidos para la clave correspondiente.

Ejemplos

Ejemplo #1 Ejemplo de request_parse_body()

<?php
// Analiza la petición y almacena el resultado en las superglobales $_POST y $_FILES.
[$_POST, $_FILES] = request_parse_body();
// Muestra el contenido de un fichero subido
echo file_get_contents($_FILES['file_name']['tmp_name']);
?>

Ejemplo #2 Ejemplo de request_parse_body() con opciones personalizadas

<?php
// form.php

assert_logged_in();

// Solo para este formulario, se permite un tamaño de subida mayor.
[$_POST, $_FILES] = request_parse_body([
'post_max_size' => '10M',
'upload_max_filesize' => '10M',
]);

// Hacer algo con los ficheros subidos.
?>
add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top