Friday, September 5, 2025
HomeLanguagesHow to post data using file_get_contents in PHP ?

How to post data using file_get_contents in PHP ?

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
  
// 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
echo $_POST['Name'];
?> 


The code prints the following output on the specified URL:

RELATED ARTICLES

Most Popular

Dominic
32267 POSTS0 COMMENTS
Milvus
81 POSTS0 COMMENTS
Nango Kala
6635 POSTS0 COMMENTS
Nicole Veronica
11801 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11865 POSTS0 COMMENTS
Shaida Kate Naidoo
6752 POSTS0 COMMENTS
Ted Musemwa
7026 POSTS0 COMMENTS
Thapelo Manthata
6703 POSTS0 COMMENTS
Umr Jansen
6720 POSTS0 COMMENTS