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:
<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:
<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:
$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!
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:
$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:
$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