PHP File Handling


The fopen() function is used to open a file in PHP.


Open File

The fopen() function is used to open a file in PHP.

The first parameter of this function contains the name of the file to be opened, and the second parameter specifies which mode to use to open the file:

<html>
<body>

<?php
$file=fopen("welcome.txt","r");
?>

</body>
</html>

The file can be opened using the following modes:

Mode Description
r Read-only. Starts at the beginning of the file.
r+ Read/Write. Starts at the beginning of the file.
w Write-only. Opens and clears the contents of the file; if the file does not exist, creates a new file.
w+ Read/Write. Opens and clears the contents of the file; if the file does not exist, creates a new file.
a Append. Opens and writes to the end of the file; if the file does not exist, creates a new file.
a+ Read/Append. Preserves the file content by writing to the end of the file.
x Write-only. Creates a new file. Returns FALSE and an error if the file already exists.
x+ Read/Write. Creates a new file. Returns FALSE and an error if the file already exists.

Note:If the fopen() function cannot open the specified file, it returns 0 (false).

Example

If the fopen() function cannot open the specified file, the example below will generate a message:

<html>
<body>

<?php
$file=fopen("welcome.txt","r") or exit("Unable to open file!");
?>

</body>
</html>


Close File

The fclose() function is used to close an open file:

<?php
$file = fopen("test.txt","r");

// Execute some code

fclose($file);
?>


Detect End of File (EOF)

The feof() function detects whether the end of the file (EOF) has been reached.

The feof() function is useful when looping through data of unknown length.

Note:In w, a, and x modes, you cannot read the opened file!

if (feof($file)) echo "End of file";


Read File Line by Line

The fgets() function is used to read files line by line.

Note:After calling this function, the file pointer moves to the next line.

Example

The example below reads the file line by line until the end of the file:

<?php
$file = fopen("welcome.txt", "r") or exit("Unable to open file!");
// Read each line of the file until the end of the file
while(!feof($file))
{
    echo fgets($file). "<br>";
}
fclose($file);
?>


Read File Character by Character

The fgetc() function is used to read a file character by character.

Note:After calling this function, the file pointer moves to the next character.

Example

The example below reads the file character by character until the end of the file:

<?php
$file=fopen("welcome.txt","r") or exit("Unable to open file!");
while (!feof($file))
{
    echo fgetc($file);
}
fclose($file);
?>


PHP Filesystem Reference Manual

For a complete reference manual of PHP filesystem functions, please visit ourPHP Filesystem Reference Manual。

Other Extensions