PHP Filesystem file_put_contents() Function



The PHP Filesystem file_put_contents() function is used to write data to a file. It is an easy and simple method of data storage. The function writes data to a file. In the event if the current file is missing, it will create a new one. If the file already exists, it will be replaced by default.

Syntax

Below is the syntax of the PHP Filesystem file_put_contents() function −

int file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] )

Parameters

Here are the required and optional parameters of the file_put_contents() function −

Sr.No Parameter & Description
1

filename(Required)

The name of the file you want to write to.

2

data(Required)

The data you want to write.

3

flags(optional)

Additional options. Suppose, you can add FILE_APPEND to add data to the end of the file.

4

context(optional)

A context resource.

Return Value

If successful, the function can return the number of characters written to the file. If it fails, it can return false.

PHP Version

The file_put_contents() function is available as part of core PHP 5 and work well with the PHP 7, PHP 8.

Example

In the below example we will use the PHP Filesystem file_put_contents() function and write some content in the given file. So for this we have to enter the file path and also the content we have to write in the given file using the file_put_contents() function.

<?php
   echo file_put_contents("PhpProject/sample.txt" ,"Hello World!");
?> 

Output

11

Example

The approach of the below code is to append content to the given text file in PHP with the help of the file_put_contents() function. We have used the FILE_APPEND flag to append the content to the end of the file and LOCK_EX flag to prevent anyone else writing to the file at the same time.

<?php
   $file = "/PhpProject1/sample.txt";
   
   // The new person to add to the file
   $test = " Tutorialspoint";

   // using the FILE_APPEND and LOCK_EX flag
   file_put_contents($file, $test, FILE_APPEND | LOCK_EX);
   
   echo "Content has been loaded successfully";
?>

Output

This will produce the following result −

Content has been loaded successfully

Example

The below PHP code will use file_put_contents() function to write the array elements to the given text file, each on a new line. The code also uses the implode() function to join the items of the array into a single string.

<?php
   // array to write in the text file
   $data = array('First line', 'Second line', 'Third line');

   // 
   echo file_put_contents('/PhpProject1/sample.txt', implode("\n", $data));
?> 

Output

This will generate the below result −

First line
Second line
Third line

Example

In the below PHP code we will try to create a non text file and write the provided data in that file. So this code will basically write the content if the file is available and show the success message.

<?php
   // add the data here to be added in the file
   $content = 'echo "Hello World!";';

   // Writing content to file
   file_put_contents('/Applications/XAMPP/xamppfiles/htdocs/mac/newfile.php', $content);

   // Check if the file is written successfully
   if (file_exists('newfile.php')) {
      echo 'File created successfully.';
   } else {
      echo 'Error creating file.';
   }
?> 

Output

This will create the below outcome −

File created successfully.

Note

It is important to make sure that the file path given in the file_put_contents() method is accurate and has the necessary write rights.

Summary

In this example, we explained you how to create a new file and write things into it with the usage of file_put_contents() function. Also, we checked that the file generation was successful and gave the necessary notes.

php_function_reference.htm
Advertisements