Maison >développement back-end >tutoriel php >Comment extraire un corps JSON POST en PHP ?

Comment extraire un corps JSON POST en PHP ?

DDD
DDDoriginal
2024-12-16 17:02:10521parcourir

How to Extract a JSON POST Body in PHP?

Extraction du corps de la publication JSON en PHP

Considérez les données JSON POST suivantes :

{a:1}

En PHP, le La variable $_POST par défaut ne contiendra pas ces données. Au lieu de cela, accédez au corps brut de la requête HTTP en utilisant :

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

Vous pouvez également utiliser la constante STDIN :

$entityBody = stream_get_contents(STDIN);

Notez que php://input n'est pas recherché et ne peut être lu qu'une seule fois. . Pour les corps volumineux, envisagez d'utiliser un fichier temporaire pour conserver la ressource de flux :

function detectRequestBody() {
    $rawInput = fopen('php://input', 'r');
    $tempStream = fopen('php://temp', 'r+');
    stream_copy_to_stream($rawInput, $tempStream);
    rewind($tempStream);

    return $tempStream;
}

Des exceptions se produisent lors de la spécification d'un en-tête "multipart/form-data" dans la requête POST, car PHP analyse déjà ces données dans le $_POST superglobal.

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