PHP fclose() | Close a File

The PHP fclose() function is used to close a file. Basically it is used to break the linkage of file from the PHP program/application using its pointer. For example:

<?php
   $filePtr = fopen("codescracker.txt", "r");
   fclose($filePtr);
?>

Note - Use fclose() function to close an opened file, when the operation on the file get completed.

Note - The fopen() opens a file.

PHP fclose() Syntax

The syntax of fclose() function in PHP, is:

fclose(filePointer)

PHP fclose() Example

Let me create an example that opens a file say codescracker.txt to read and display its content on the web, then will close this file using of course the fclose() function:

<?php
   $file = "codescracker.txt";
   $filePtr = fopen($file, "r");
   
   echo "<p>The file opened successfully.</p>";
   echo "<p>----The file contains----</p>";
   echo fread($filePtr, filesize($file));
   
   fclose($filePtr);
   echo "<p>The file closed successfully.</p>";
?>

The output of above PHP example is:

php fclose close a file

And here is the snapshot of the opened file codescracker.txt, available in the current directory, in my case:

php fclose function example

There is a limitation with previous example. That limitation is, if the specified file say codescracker.txt is not available in the current directory, then in that case too, the above example prints The file opened successfully. along with ----The file contains----. Therefore let's modify the above example to consider printing these, only if the file is available or actually opened:

<?php
   $file = "codescracker.txt";
   $filePtr = fopen($file, "r");
   
   if($filePtr)
   {
      echo "<p>The file opened successfully.</p>";
      echo "<p>----The file contains----</p>";
      echo fread($filePtr, filesize($file));
   
      fclose($filePtr);
      echo "<p>The file closed successfully.</p>";
   }
   else
      echo "<p>Unable to open the file!.</p>";
?>

Note - The fread() is used to read the content of an opened file, using its pointer.

Note - The filesize() returns the size of specified file in bytes.

Okay, now the question is, what if we try to operate say read a closed file ?
Let's find out, using an example given below:

<?php
   $file = "codescracker.txt";
   $filePtr = fopen($file, "r");
   
   if($filePtr)
   {
      echo "<p>----The file contains----</p>";
      echo fread($filePtr, filesize($file));
   
      fclose($filePtr);
      
      echo fread($filePtr, filesize($file));
   }
   else
      echo "<p>Unable to open the file!</p>";
?>

Now the output of above PHP example, is:

close a file in PHP fclose

PHP Online Test


« Previous Tutorial Next Tutorial »