File handling in PHP

Reading data

To simply get the contents of a file and store it as a string, use the file_get_contents function.

echo file_get_contents('hello.txt');

This code will simply output the contents of the file. Alternatively you can get the contents of a file line by line in an array using the file function.

foreach(file('hello.txt') as $text)
   echo $text.'<br />';

The lines of the file are returned as an array and this code outputs each line.

Writing data

To write data to a file you have to open the file, and then use the fwrite function to write data to the file. The fopen function accepts two arguments, a file pointer and a method of opening the file, the various methods are outlined below.

Parameter code
Read only from beginning of file r
Read and write from beginning of file r+
Write only (overwrite)* w
Read and write (overwrite)* w+
Write only (append)* a
Read and write (append)* a+
Create and open a file for writing (if the file exists false will be returned)* x
Create and open a file for reading and writing (if the file exists false will be returned)* x+

* If the file does not exist then one will be created.

$open = fopen('hello.txt','w+');
$text = 'Hello';
fwrite($open, $text);

This example opens a file and overwrites the contents with a string. An alternative is to use file_put_contents.

file_put_contents('hello.txt', 'my string');

This writes the data to the file specified (and creates the file if it does not exist). This function automatically overwrites data but can be set to append data.

file_put_contents('hello.txt', 'my string', FILE_APPEND);

File functions

PHP has a variety of methods for working with files. The examples below demonstrate simple uses of them.


These functions return the size of the file specified and the type of the file (dir, file etc).


These functions check whether a file is readable, writable or exists respectively.

rename($oldFile, $newFile);

This set of functions can copy a file, rename a file or delete a file respectively.