PHP fclose(): Close a File

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

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

Note: Use the fclose() function to close an opened file, when the operation on the file is complete.

Note: The fopen() function opens a file.

PHP fclose() Syntax

The syntax of the 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 closes 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 the 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 the previous example. That limitation is that 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() function is used to read the content of an opened file using its pointer.

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

Okay, now the question is, what if we try to operate on, say, 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 the above PHP example is:

close a file in PHP fclose

PHP Online Test


« Previous Tutorial Next Tutorial »


Liked this post? Share it!