LonghornPHP 2026

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

function 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

El cuerpo de la petición solo puede consumirse una vez. request_parse_body() consume el cuerpo de la petición sin almacenarlo en el búfer en el flujo php://input. Inversamente, si el cuerpo ya ha sido leído (por ejemplo a través de php://input), request_parse_body() devolverá datos vacíos.

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.
?>

Found A Problem?

Learn How To Improve This PageSubmit a Pull RequestReport a Bug
+add a note

User Contributed Notes

There are no user contributed notes for this page.

AltStyle によって変換されたページ (->オリジナル) /