request_parse_body
En esta página
request_parse_body
Lee y analiza el cuerpo de la petición y devuelve el resultado
Descripción#
request_parse_body([array $options]): array
```php
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`.
> [!CAUTION]
> 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 de `request_parse_body`
Ejemplo de `request_parse_body` con opciones personalizadas
```php