Maison >développement back-end >tutoriel php >Comment accéder à la charge utile de la requête en PHP lorsque $_POST et $_GET sont vides ?

Comment accéder à la charge utile de la requête en PHP lorsque $_POST et $_GET sont vides ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-10 16:00:04379parcourir

How to Access Request Payload in PHP When $_POST and $_GET Are Empty?

Comment accéder à la charge utile de la requête en PHP

Lors de l'utilisation d'ExtJS et du magasin ajax, les données de la requête peuvent être envoyées dans le corps de la requête HTTP plutôt que via les paramètres POST ou GET. Par conséquent, $_POST et $_GET restent vides.

Solution

Le corps de la requête est accessible à l'aide du code PHP suivant :

$request_body = file_get_contents('php://input');

Si la charge utile est en JSON format, il peut être décodé avec :

$data = json_decode($request_body);

Cela remplira la variable $data avec un tableau représentant la charge utile JSON.

Contexte sur php://input

php://input est un wrapper de flux en lecture seule qui permet d'accéder aux données brutes du corps de la requête. Il est particulièrement utile pour les requêtes POST et offre des avantages par rapport à $HTTP_RAW_POST_DATA en termes d'efficacité de la mémoire et d'indépendance par rapport aux directives php.ini spécifiques. Notez que php://input n'est pas disponible lors de l'utilisation de enctype="multipart/form-data".

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn