PHP - Files & I/O: Opening and Closing Files
PHP - Files & I/O: Opening and Closing Files
Opening a file
Reading a file
Writing a file
Closing a file
Files modes can be specified as one of the six options in this table.
If an attempt to open a file fails then fopen returns a value of false otherwise it returns a file
pointer which is used for further reading or writing to that file.
After making a changes to the opened file it is important to close it with the fclose() function.
The fclose() function requires a file pointer as its argument and then returns true when the
closure succeeds or false if it fails.
Reading a file
Once a file is opened using fopen() function it can be read with a function called fread(). This
function requires two arguments. These must be the file pointer and the length of the file
expressed in bytes.
The files length can be found using the filesize() function which takes the file name as its
argument and returns the size of the file expressed in bytes.
The following example assigns the content of a text file to a variable then displays those contents
on the web page.
<html>
<head>
<title>Reading a file using PHP</title>
</head>
<body>
<?php
$filename = "tmp.txt";
$file = fopen( $filename, "r" );
</body>
</html>
Writing a file
A new file can be written or text can be appended to an existing file using the PHP fwrite()
function. This function requires two arguments specifying a file pointer and the string of data
that is to be written. Optionally a third integer argument can be included to specify the length of
the data to write. If the third argument is included, writing would will stop after the specified
length has been reached.
The following example creates a new text file then writes a short text heading inside it. After
closing this file its existence is confirmed using file_exist() function which takes file name as an
argument
<?php
$filename = "/home/user/guest/newfile.txt";
$file = fopen( $filename, "w" );
<head>
<title>Writing a file using PHP</title>
</head>
<body>
<?php
$filename = "newfile.txt";
$file = fopen( $filename, "r" );
fclose( $file );
</body>
</html>
We have covered all the function related to file input and out in PHP File System Function
chapter.