Maison  >  Article  >  développement back-end  >  Exemple d'explication de $_POST en php

Exemple d'explication de $_POST en php

零下一度
零下一度original
2017-07-27 14:58:262827parcourir

$_POST : Un tableau de variables transmises via la méthode HTTP POST. est une variable globale automatique.

$GLOBALS['HTTP_RAW_POST_DATA'] : Générez toujours des variables contenant des données POST brutes. Cette variable n'est générée que lorsque des données d'un type MIME non reconnu sont rencontrées. $HTTP_RAW_POST_DATA n'est pas disponible pour les données de formulaire enctype="multipart/form-data".

C'est-à-dire que fondamentalement $GLOBALS['HTTP_RAW_POST_DATA'] et $_POST sont identiques.

Mais si les données publiées ne sont pas reconnues par PHP, vous pouvez utiliser $GLOBALS['HTTP_RAW_POST_DATA'] pour les recevoir, comme du texte/xml ou du savon, etc.

  • Explication supplémentaire : Le type de données reconnu par PHP par défaut est le type de données standard application/x-www.form-urlencoded.

  • C'est ce que dit le manuel

    Toujours générer des variables contenant le POST d'origine données. Sinon, cette variable n'est générée que lorsque des données d'un type MIME non reconnu sont rencontrées. Cependant, une meilleure façon d'accéder aux données POST brutes consiste à php://entrée. $HTTP_RAW_POST_DATA pour enctype="multipart/form-data" Les données du formulaire ne sont pas disponibles.

    Problème : $HTTP_RAW_POST_DATA == $_POST ?

    Selon le manuel, la réponse devrait être non.
    S'ils sont différents, quelle est leur différence ?

  • Je connais la réponse, comme suit :

    Le HTTP POST RAW/non interprété les informations sont accessibles avec :
    $GLOBALS['HTTP_RAW_POST_DATA']
    Ceci est utile dans les cas où le post Content-Type n'est pas quelque chose que PHP comprend (comme text/xml).

    C'est-à-dire, en gros, $GLOBALS['HTTP_RAW_POST_DATA'] et $_POST c'est pareil. Mais si les données postées ne sont pas reconnues par PHP, vous pouvez utiliser $GLOBALS['HTTP_RAW_POST_DATA'] à recevoir, tel que text/xml ou soap etc.

    Le type de données reconnu par PHP par défaut est le type de données standard application/x-www.form-urlencoded

    Utiliser Content-Type=text/xml Tapez, soumettez le contenu d'un document XML au serveur php, comment obtenir ces données POST.

    Le HTTP POST RAW / non interprété les informations sont accessibles avec : $GLOBALS['HTTP_RAW_POST_DATA'] Ceci est utile dans les cas où le type de contenu de la publication n'est pas quelque chose que PHP comprend (comme text/xml). Il est analysé dans un tableau $_POST, donc le prototype est conservé et transmis à $GLOBALS['HTTP_RAW_POST_DATA'] recevoir.

    Il y a un autre élément php://input Cette fonction peut également être implémentée

    php://input permet de lire les données brutes du POST. et Il met moins de pression sur la mémoire que $HTTP_RAW_POST_DATA et ne nécessite aucun php.ini spécial installation. php://input ne peut pas être utilisé avec enctype="multipart/form-data".

    Postuler

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!

Déclaration:
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
Article précédent:Quel est le rôle de PHPArticle suivant:Quel est le rôle de PHP