PHP feof() function

The PHP feof() function, which stands for "file end-of-file," is used to check whether the file pointer has been reached to the end of the file. For example:

<?php
   $fp = fopen("codescracker.txt", "r");
   while(!feof($fp))
   {
      $line = fgets($fp);
      echo $line;
      echo "<br>";
   }
   fclose($fp);
?>

The output produced by the above PHP example is:

php feof function

Note: The fopen() function opens a file.

Note: The fgets() function used to read the content of a file, line-by-line.

Note: The fclose() function closes a file.

The text you are seeing as the output is the same text that is available in the file codescracker.txt. Here is the snapshot of the opened file, available in the current directory:

php file end of file example

Note: The feof() function in PHP is used to go through all the data using a loop. This becomes useful when you do not know the size of the file but still have to read the whole content.

In the preceding example, the PHP code:

while(!feof($fp))

indicates that the loop continues its execution until the file whose pointer is $fp reaches the end of the file.

PHP feof() Syntax

The syntax of the feof() function in PHP is:

feof(filePointer)

PHP feof() Example | Read File until eof

Now let me create the modified version of the above example, since the above example only works if the file exists. And if the file is not available in the current directory, then that example will not work. Here is the modified version of that example:

<?php
   $fp = @fopen("codescracker.txt", "r");
   if($fp)
   {
      while(!feof($fp))
      {
         $line = fgets($fp);
         echo $line;
         echo "<br>";
      }
      fclose($fp);
   }
   else
      echo "<p>Unable to open the file!</p>";
?>

Note: The @ before the fopen() function is used to hide the default error message produced by the function when the file does not exist.

Advantages of the feof() function in PHP

Disadvantages of the feof() function in PHP

PHP Online Test


« Previous Tutorial Next Tutorial »


Liked this post? Share it!