Maison > Article > développement back-end > Explication détaillée de trois méthodes d'obtention de données POST en PHP
Cet article présente trois méthodes permettant à PHP d'obtenir des données POST. La première méthode est $_POST, la deuxième méthode consiste à utiliser file_get_contents et la troisième méthode consiste à utiliser la variable globale $GLOBALS.
Trois façons d'obtenir des données POST en php
Méthode 1, $_POST
$ _POST ou $_REQUEST Ce qui est stocké, ce sont les données formatées par PHP sous la forme clé=>valeur.
Méthode 2, utilisez file_get_contents("php://input")
Pour les données POST sans type de contenu spécifié, vous pouvez utiliser file_get_contents("php://input"); pour obtenir les données originales. En fait, toutes les données reçues par POST à l'aide de PHP utilisent cette méthode. Quel que soit le type de contenu, l'inclusion de flux de fichiers binaires est également réalisable.
Comparé à $HTTP_RAW_POST_DATA, il met moins de pression sur la mémoire et ne nécessite aucun paramètre php.ini spécial.
php://input ne peut pas lire les données POST dont le type de contenu est multipart/form-data Vous devez définir la valeur always_populate_raw_post_data dans php.ini sur On.
php://input ne peut pas lire les données $_GET. En effet, les données $_GET sont écrites dans le champ PATH de l'en-tête de la requête http en tant que query_path, plutôt que dans la partie corps de la requête http.
Troisième méthode, utilisez la variable globale $GLOBALS['HTTP_RAW_POST_DATA']
Le POST est stocké dans $GLOBALS['HTTP_RAW_POST_DATA'] de données brutes.
Mais le fait que les données POST soient enregistrées dans $GLOBALS['HTTP_RAW_POST_DATA'] dépend du paramètre centent-Type. Ce n'est que lorsque PHP ne peut pas reconnaître le type de contenu que le POST sera enregistré ? les données sont renseignées dans la variable $GLOBALS['HTTP_RAW_POST_DATA'] telles quelles. Lorsque Content-Type=application/x-www-form-urlencoded, la variable est vide.
De plus, il est également incapable de lire les données POST dont le type de contenu est multipart/form-data. Vous devez également définir la valeur always_populate_raw_post_data dans php.ini sur On pour que PHP soit toujours activé. remplissez les données POST.
Ce qui précède représente l’intégralité du contenu de cet article, j’espère qu’il sera utile à l’étude de chacun.
Recommandations associées :
Comment implémenter le développement de la fonction d'enveloppe rouge WeChat Cash en PHP
PHP WeChat simule la connexion et envoie un message à l'utilisateur
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!