Maison > développement back-end > tutoriel php > Comment accéder correctement aux données JSON à partir des requêtes PHP POST ?

Comment accéder correctement aux données JSON à partir des requêtes PHP POST ?

Barbara Streisand
Libérer: 2024-12-23 17:26:10
original
626 Les gens l'ont consulté

How to Properly Access JSON Data from PHP POST Requests?

Comment extraire des données JSON d'une requête PHP POST

Lors de la soumission de données JSON à un script PHP via une requête POST, accéder au corps peut prêter à confusion. En utilisant var_dump($_POST); renverra un tableau vide.

Solution : Utilisation de php://input

Pour accéder au corps de la requête, PHP fournit php://input :

$entityBody = file_get_contents('php://input');
Copier après la connexion

Ce flux contient les données brutes POST. Vous pouvez également utiliser stream_get_contents(STDIN) car STDIN est un alias pour php://input.

注意事项 :

  • php://input est non consultable, il ne peut donc être lu qu'une seule fois.
  • Pour les grands ensembles de données, pensez le mettre en mémoire tampon avec un flux temporaire, tel que :
function detectRequestBody() {
    $rawInput = fopen('php://input', 'r');
    $tempStream = fopen('php://temp', 'r+');
    stream_copy_to_stream($rawInput, $tempStream);
    rewind($tempStream);

    return $tempStream;
}
Copier après la connexion

Limitations :

php://input n'est pas disponible pour les requêtes avec Content-Type : multipart/form-data, car PHP gère les données en plusieurs parties nativement.

Exemple :

Pour accéder à l'objet JSON {a:1} dans votre code PHP, utilisez :

$json = json_decode(file_get_contents('php://input'));
echo $json->a; // 1
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal