PHP Lecture des données POST brutes


Exemple

Habituellement, les données envoyées dans une requête POST sont des paires clé / valeur structurées avec un type d' application/x-www-form-urlencoded MIME application/x-www-form-urlencoded . Cependant, de nombreuses applications, telles que les services Web, nécessitent l'envoi de données brutes, souvent au format XML ou JSON. Ces données peuvent être lues en utilisant l'une des deux méthodes.

php://input est un flux qui donne accès au corps de la requête brute.

$rawdata = file_get_contents("php://input");
// Let's say we got JSON
$decoded = json_decode($rawdata);
5.6

$HTTP_RAW_POST_DATA est une variable globale contenant les données POST brutes. Il n'est disponible que si la directive always_populate_raw_post_data de php.ini est activée.

$rawdata = $HTTP_RAW_POST_DATA;
// Or maybe we get XML
$decoded = simplexml_load_string($rawdata);

Cette variable est obsolète depuis la version PHP 5.6 et a été supprimée dans PHP 7.0.

Notez qu'aucune de ces méthodes n'est disponible lorsque le type de contenu est défini sur multipart/form-data , qui est utilisé pour les téléchargements de fichiers.