Home  >  Article  >  Backend Development  >  Three ways to get POST data with PHP

Three ways to get POST data with PHP

WBOY
WBOYOriginal
2016-07-23 08:54:55857browse
Method 1, $_POST

$_POST or $_REQUEST stores the data formatted by PHP in the form of key=>value.

Method 2, use file_get_contents(“php://input”)

For POST data without specified Content-Type, you can use file_get_contents(“php://input”); to obtain the original data.
In fact, any data received by POST using PHP uses this method. Regardless of Content-Type, including binary file streams is also feasible.
Compared to $HTTP_RAW_POST_DATA, it puts less pressure on memory and does not require any special php.ini settings.
php://input cannot read POST data whose Content-Type is multipart/form-data. You need to set the always_populate_raw_post_data value in php.ini to On.
php://input cannot read $_GET data. It is because the $_GET data is written as query_path in the PATH field of the http request header (header), rather than in the body part of the http request.

Method three, use global variables$GLOBALS[‘HTTP_RAW_POST_DATA’]

Stored in $GLOBALS[‘HTTP_RAW_POST_DATA’] is the original data from POST.
But whether $GLOBALS['HTTP_RAW_POST_DATA'] saves the POST data depends on the centent-Type setting. Only when PHP cannot recognize the Content-Type, the POST data will be filled in as it is. Enter the variable $GLOBALS['HTTP_RAW_POST_DATA']. For example, when Content-Type=application/x-www-form-urlencoded, the variable is empty.
In addition, it is also unable to read POST data whose Content-Type is multipart/form-data. You also need to set the always_populate_raw_post_data value in php.ini to On so that PHP will always fill in the POST data into the variable $http_raw_post_data.

Three types, PHP, POST


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:php Sort function exampleNext article:php Sort function example