PHP fopen() | Open a File

The PHP fopen() function is used when we need to open a file or a URL. For example:

<?php
   $myfile = "codescracker.txt";
   if(fopen($myfile, "r"))
      echo "The file gets opened successfully, in 'r' mode.";
   else
      echo "Unable to open the file.";
?>

The output of above PHP example, is:

php fopen function

Since the file codescracker.txt is available in the current directory, therefore the file gets opened.

The fopen() function basically binds a named resource, specified by the name of file, to a stream. For example, the above program can also be written as:

<?php
   $myfile = "codescracker.txt";
   $fs = fopen($myfile, "r");
   if($fs)
      echo "The file gets opened successfully, in 'r' mode.";
   else
      echo "Unable to open the file.";
?>

The $fs in above example, can be treated as file handler, that is the variable used to handle the file opened by fopen(). Since the file is opened in r (reading) mode, therefore the only operation this file handler can perform to the file, is read operation.

PHP fopen() Function Syntax

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

fopen(fileName, fileOpeningMode, include_path, context)

The first two parameters are required, whereas the last two parameters are optional.

The include_path parameter is used to include the path to search for the specified file. Whereas context parameter is used to specify the context of file handler.

Note - The fopen() returns a file pointer/handler resource on success. Otherwise it returns FALSE along with an error on failure.

PHP File Opening Modes - fopen() Modes

Mode Description
r Opens file for reading
r+ Opens file for both reading and writing
w Opens file for writing
w+ Opens file for both writing and reading
a Opens file for appending
a+ Opens file for appending and reading
x Opens file for writing
x+ Opens file for both writing and reading
c Opens file for writing
c+ Opens file for both writing and reading

Note - The w, w+, a, and a+ modes creates a new file, if specified file does not exists.

Note - The a and a+ mode preserves previous content and writes new content at the end of file.

Note - The x and x+ mode returns FALSE if file already exists. This mode is used to avoid overwrite.

Note - The c and c+ mode creates a new file if the specified file is not available or does not exists.

PHP fopen() Function Example

<?php
   $myfile = "codescracker.txt";
   $fs = fopen($myfile, "r");
   $myline = fgets($fs);
   while($myline!=null)
   {
      echo $myline;
      echo "<br>";
      $myline = fgets($fs);
   }
   fclose($fs);
?>

The output of above PHP example, is:

php fopen function example

The same program can also be written as:

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

PHP Online Test


« Previous Tutorial Next Tutorial »