Maison > développement back-end > tutoriel php > Comment accéder correctement aux données JSON POST en PHP ?

Comment accéder correctement aux données JSON POST en PHP ?

Barbara Streisand
Libérer: 2024-12-22 04:19:12
original
400 Les gens l'ont consulté

How to Properly Access JSON POST Data in PHP?

Accès aux données POST en PHP : décodage du corps JSON

En PHP, la gestion des requêtes POST nécessite d'accéder au corps de la requête pour extraire les données soumises. Lors de la réception d'un corps encodé en JSON, il est important d'utiliser l'approche appropriée pour récupérer les informations souhaitées.

Extraction JSON

Pour accéder aux données JSON dans le corps POST , ne comptez pas sur $_POST. Utilisez plutôt file_get_contents('php://input'):

$json_input = file_get_contents('php://input');
$data = json_decode($json_input, true);
Copier après la connexion

Cela lit le corps brut du POST sous forme de chaîne, qui est ensuite décodé dans un tableau PHP à l'aide de json_decode().

Gestion de multipart/form-data

Si votre requête POST contient multipart/form-data encodage, les données seront analysées automatiquement dans le superglobal $_POST. Cependant, notez que vous ne pouvez pas accéder au corps JSON brut en utilisant php://input dans ce cas.

Exemple

Par exemple, si vous soumettez une requête POST avec le corps JSON suivant :

{"a": 1}
Copier après la connexion

Votre code PHP peut le décoder comme suit :

$json_input = file_get_contents('php://input');
$data = json_decode($json_input, true);

var_dump($data['a']); // Outputs: 1
Copier après la connexion

Remarque sur la recherche

php://input n'est pas recherché, ce qui signifie qu'il ne peut être lu qu'une seule fois. Si vous devez conserver le flux pour plusieurs opérations de lecture, envisagez de créer un flux temporaire en utilisant stream_copy_to_stream() ou en utilisant php://temp pour une meilleure gestion de la mémoire.

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