PHP fgetc() | Get Single Character from a File

The PHP fgetc() function fetches/returns a single character from a file. For example:

<?php
   $fp = fopen("fresherearth.txt", "r");
   echo fgetc($fp);
   fclose($fp);
?>

The output produced by above PHP example on fgetc() function, is:

php fgetc function

That is, the output is H, which is the first character of the file fresherearth.txt. Here is the snapshot of the opened file fresherearth.txt, available in the current directory:

php fgetc example

Note - The fopen() opens a file.

Note - The fclose() closes a file.

You can use feof() to continue fetching until the end of file, and use the fgetc() function to read all the content of file in character-by-character manner. Here is an example:

<?php
   $fp = fopen("fresherearth.txt", "r");
   if($fp)
   {
      while(!feof($fp))
      {
         $character = fgetc($fp);
         if($character == "\n")
            echo "<br>";
         else
            echo $character;
      }
      fclose($fp);
   }
   else
      echo "<p>Unable to open the file!</p>";
?>

Now the output should be:

php fgetc get character by character

Note - The feof() check whether the file pointer has been reached to the end of the file.

Recommendation - Since this function fetches data in character-by-character manner, therefore it makes your application slower for large files. But still, if you need to fetch data character-by-character, then you can use fgets() function to read one line, then fetch that line character-by-character, then do the same for second line, and so on.

PHP fgetc() Syntax

The sytax of fgetc() function in PHP, is:

fgetc(filePointer)

PHP Online Test


« Previous Tutorial Next Tutorial »