1. Several methods for PHP to obtain POST data
Method 1. The most common method is: $_POST['fieldname'];
Note: Only Content-Type: application/x-www-form- The data submitted by urlencoded
Explanation: It is the data from the form POST
Method 2, file_get_contents("php://input");
Explanation:
Allows reading the original data of POST.
Compared with $HTTP_RAW_POST_DATA, it puts less pressure on memory and does not require any special php.ini settings.
php://input cannot be used with enctype="multipart/form-data".
Explanation:
For POST data without specified Content-Type, you can use file_get_contents("php://input"); to obtain the original data.
In fact, this method can be used to receive any POST data using PHP. Regardless of Content-Type, including binary file streams is also acceptable.
So method 2 is the safest method
Method 3, $GLOBALS['HTTP_RAW_POST_DATA'];
Note:
Always generate $HTTP_RAW_POST_DATA variable containing the original POST data.
This variable is only generated when data of unrecognized MIME type is encountered.
$HTTP_RAW_POST_DATA is not available for enctype="multipart/form-data" form data
If the posted data is not recognized by PHP, you can use $GLOBALS['HTTP_RAW_POST_DATA'] to receive it,
such as text/xml or soap, etc.
Explanation:
$GLOBALS['HTTP_RAW_POST_DATA'] stores the original data from POST.
$_POST or $_REQUEST stores data formatted by PHP in the form of key=>value.
But whether the POST data is saved in $GLOBALS['HTTP_RAW_POST_DATA'] depends on the centent-Type setting, that is, when POSTing data, Content-Type must be explicitly specified: application/x-www-form-urlencoded, POST data will be stored in $GLOBALS['HTTP_RAW_POST_DATA']
2. Demonstration
1. How does PHP obtain the XML data from POST and parse the XML data
For example, when we develop WeChat enterprise accounts, how to handle user replies What about the data?
Document: http://qydev.weixin.qq.com/wiki/index.php?title=%E6%8E%A5%E6%94%B6%E6%99%AE%E9%80%9A%E6% B6%88%E6%81%AF
First check the documentation and you will know: After enabling the development mode, when the user replies to the application, the WeChat server will POST a string of XML data to the verified callback URL
Assume this URL For http://www.xxx.com
Http request method: POST
http://www.xxx.com/?msg_signature=ASDFQWEXZCVAQFASDFASDFSS×tamp=13500001234&nonce=123412323
The XML content of POST is:
<xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>1348831860</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[this is a test]]></Content> <MsgId>1234567890123456</MsgId> <AgentID>1</AgentID> </xml>
So what? Accept this content eh?
You can use it at this time: Method 2 (file_get_contents("php://input")), Method 3 ($GLOBALS['HTTP_RAW_POST_DATA'])
Method 2 (file_get_contents("php://input")) :
$input = file_get_contents("php://input"); //接收POST數(shù)據(jù) $xml = simplexml_load_string($input); //提取POST數(shù)據(jù)為simplexml對(duì)象 var_dump($xml);
Method 3 ($GLOBALS['HTTP_RAW_POST_DATA'])
$input = $GLOBALS['HTTP_RAW_POST_DATA']; libxml_disable_entity_loader(true); $xml = simplexml_load_string($input, 'SimpleXMLElement', LIBXML_NOCDATA); var_dump($xml);
For more PHP methods to obtain POST data, please pay attention to the PHP Chinese website for related articles!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)
