How to post data using file_get_contents in PHP ?
Last Updated :
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
<?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:
Similar Reads
How to Display Data from CSV file using PHP ? We have given the data in CSV file format and the task is to display the CSV file data into the web browser using PHP. To display the data from CSV file to web browser, we will use fgetcsv() function. Comma Separated Value (CSV) is a text file containing data contents. It is a comma-separated value
2 min read
How to append data in JSON file through HTML form using PHP ? The purpose of this article is to append data to a JSON file through HTML form using PHP. Approach 1: If the JSON file is not created then we create a new JSON file, send data to it, and append data in it. To see how to create a JSON file by taking data from the HTML form, refer this link. Approach
4 min read
How to Convert File Content to Byte Array in PHP ? Converting file content to a byte array in PHP is a useful technique for various applications, including file manipulation, data processing, and when working with binary files like images or PDFs. PHP offers multiple ways to read file content and convert it into a byte array, providing flexibility t
5 min read
How to copy a file from one directory to another using PHP ? The copy() function in PHP is used to copy a file from source to target or destination directory. It makes a copy of the source file to the destination file and if the destination file already exists, it gets overwritten. The copy() function returns true on success and false on failure. Syntax: bool
2 min read
How to read data from a file stored in XAMPP webserver using PHP ? We have given a file stored on XAMPP server and the task is to read the file from server and display the file content on the screen using PHP. We use some PHP functions to solve this problem. File: A file is set of data stored in a disk in different formats. For example - .txt, .exe, .pdf etc fopen
2 min read