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');
Ce flux contient les données brutes POST. Vous pouvez également utiliser stream_get_contents(STDIN) car STDIN est un alias pour php://input.
注意事项 :
function detectRequestBody() { $rawInput = fopen('php://input', 'r'); $tempStream = fopen('php://temp', 'r+'); stream_copy_to_stream($rawInput, $tempStream); rewind($tempStream); return $tempStream; }
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
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!