Let us first look at the below three features:
- php://input: This is a read-only stream that allows us to read raw data from the request body. It returns all the raw data after the HTTP-headers of the request, regardless of the content type.
- file_get_contents() function: This function in PHP is used to read a file into a string.
- json_decode() function: This function takes a JSON string and converts it into a PHP variable that may be an array or an object.
It is known that the all of the post data can be received in a PHP script using the $_POST[] global variable. But this fails in the case when we want to receive JSON string as post data. To receive JSON string we can use the “php://input” along with the function file_get_contents() which helps us receive JSON data as a file and reads it into a string.
Later, we can use the json_decode() function to decode the JSON string.
Handling JSON POST request:
// Takes raw data from the request $json = file_get_contents('php://input'); // Converts it into a PHP object $data = json_decode($json);
Example 1:
<?php $json = '["geeks", "for", "geeks"]' ; $data = json_decode( $json ); echo $data [0]; ?> |
geeks
Example 2:
<?php $json = '{ "title" : "PHP" , "site" : "GeeksforGeeks" }'; $data = json_decode( $json ); echo $data ->title; echo "\n" ; echo $data ->site; ?> |
PHP GeeksforGeeks
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.