How to post data using file_get_contents in PHP ?

11 Jun, 2020
The file_get_contents() function in PHP is used to read the contents of a file and make HTTP requests using GET and get HTTP responses using POST methods. The HTTP POST request can be made using the $context parameter of the file_get_contents() function, which posts the specified data to the URL specified using the $path parameter. The following syntax is used to POST requests to the required path:
Syntax:
string file_get_contents( $path, $include_path, 
                      $context, $offset, $max_length )
Parameters:
$path: A required parameter that specifies the URL to post data.
$include_path: It is an optional parameter that specifies if we wish to search for files in the included path while reading.
$context: It specifies the data in the form of a JSON stream to be posted to the URL.
$start: It is an optional parameter that is used to specify the starting point in the file for reading.
$max_length: It is an optional parameter that is used to specify the number of bytes to be read.
Therefore, a content stream can be created and then, injected into the respective path. The data can contain information in the form of key-value pairs. The context stream is created by the stream_context_create($options) function with the parameters supplied in the $options argument. The parameters contain the ‘method’ consisting of either GET or POST and ‘content’ parameter containing the data that has to appear on the URL.
The code snippet indicates a sample program to post data to the URL using the file_get_contents() method. We create a folder by the name Demo which contains two files “index.php” and “demo1.php” and run it using the MAMP server.
The following code is included in ‘index.php’.
<?php  // Contains the url to post data// this is my local server url// demo is the folder name and// demo1.php is other file$url_path = 'http://localhost:8888/Demo/demo1.php';  // Data is an array of key value pairs// to be reflected on the site$data = array('Name' => 'John', 'Age' => '24');  // Method specified whether to GET or// POST data with the content specified// by $data variable. 'http' is used// even in case of 'https'  $options = array(    'http' => array(    'method' => 'POST',    'content' => http_build_query($data)));  // Create a context stream with// the specified options$stream = stream_context_create($options);  // The data is stored in the // result variable$result = file_get_contents(        $url_path, false, $stream);  echo $result;?>
To view the items in the content, the following code is written in ‘demo1.php’:
<?phpecho $_POST['Name'];?> 
The code prints the following output on the specified URL:
PHP-Misc
Picked
PHP
PHP Programs
Web Technologies
Web technologies Questions
PHP
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
How to Insert Form Data into Database using PHP ?
How to convert array to string in PHP ?
How to Upload Image into Database and Display it using PHP ?
How to check whether an array is empty using PHP?
PHP | Converting string to Date and DateTime
How to Insert Form Data into Database using PHP ?
How to convert array to string in PHP ?
How to Upload Image into Database and Display it using PHP ?
How to check whether an array is empty using PHP?
How to call PHP function on the click of a Button ?