Explication détaillée de trois méthodes d'obtention de données POST en PHP

墨辰丷
Libérer: 2023-03-28 10:52:02
original
8104 Les gens l'ont consulté

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

Les utilisations PHP continuent de comprendre les points clés consistant à sauter le code restant dans cette boucle

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!

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!