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);
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}
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
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!