Generate JSON File in PHP

Minahil Noor Dec 10, 2020 May 05, 2020 PHP PHP JSON
Generate JSON File in PHP

In this article, we will introduce the method to generate a .json file in PHP.

  • Using file_put_contents() function

Use file_put_contents() Function to Generate a .Json File in PHP

The built-in function file_put_contents() could write the content into a file in PHP. It searches for the file to write in, and if the desired file is not present, it creates a new file. We can use this function to create a .json file. The correct syntax to use this function is as follows

file_get_contents($pathOfFile, $info, $customContext, $mode);

This function accepts four parameters. The detail of these parameters is as follows.

Parameter Description
$pathOfFile mandatory It specifies the path of the file.
$info mandatory It specifies the information or data that you wish to write in a file. It can be a string.
$customContext optional It is used to specify a custom context.
$mode optional It specifies the mode in which the data will be written on the file. It can be FILE_USE_INCLUDE_PATH, FILE_APPEND, and, LOCK_EX.

This function returns the number of bytes written on the file if successful and false otherwise.

The below program will create a new .json file and store JSON data into it

// data strored in array
$array = Array (
    "0" => Array (
        "id" => "01",
        "name" => "Olivia Mason",
        "designation" => "System Architect"
    "1" => Array (
        "id" => "02",
        "name" => "Jennifer Laurence",
        "designation" => "Senior Programmer"
    "2" => Array (
        "id" => "03",
        "name" => "Medona Oliver",
        "designation" => "Office Manager"

// encode array to json
$json = json_encode($array);
$bytes = file_put_contents("myfile.json", $json); 
echo "The number of bytes written are $bytes.";

We use json_encode() function to convert the data stored in the array to a JSON string. Once the data is converted to a JSON string, file_put_contents() function creates a .json file and writes data into it. The output shows the number of bytes, which means the data is written successfully.


The number of bytes written is 207.

Related Article - PHP JSON

  • Parse a JSON File in PHP
  • Use cURL to Get JSON Data and Decode JSON Data in PHP
  • Obtain and Read Data in PHP
  • Pretty Print the JSON in PHP
  • Convert XML to JSON in PHP