Open In App

How to post data using file_get_contents in PHP ?

Last Updated : 11 Jun, 2020
Comments
Improve
Suggest changes
Like Article
Like
Report
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
<?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': php
<?php
echo $_POST['Name'];
?> 
The code prints the following output on the specified URL:

Next Article

Similar Reads