File Handling Functions in PHP

Last updated 23-07-23 04:31


File handling is an essential aspect of any programming language, including PHP. With file handling functions, developers can create, read, write, delete, and manipulate files effortlessly. In this article, we will explore the various file handling functions available in PHP and how they can be utilized to handle files effectively.

1. Opening and Closing Files

In PHP, the fopen() function is used to open a file. It requires two parameters: the filename and the mode. The mode determines the purpose of opening the file, such as read-only, write-only, or read-write. Once the file is opened, the fclose() function is used to close the file and release system resources.

2. Reading Files

To read the contents of a file, we use the fread() function. It takes two parameters: the file handle and the number of bytes to read. Alternatively, the fgets() function can be used to read a single line from the file. Additionally, PHP provides the file() function, which reads the entire file into an array, with each line as an element.

3. Writing to Files

To write data to a file, the fwrite() function is utilized. It requires two parameters: the file handle and the data to be written. If the file doesn't exist, it will be created. However, if it already exists, the previous content will be overwritten.

4. Appending to Files

If we want to add data to an existing file without overwriting the existing content, we can use the fwrite() function with the "a" mode. This mode enables appending to the file rather than overwriting it.

5. Deleting Files

PHP provides the unlink() function to delete a file from the server. It requires the filename as its parameter and permanently removes the file from the file system.

6. Checking File Existence

To check if a file exists before performing any operations on it, we can use the file_exists() function. It returns true if the file exists and false otherwise.

7. Copying and Renaming Files

With PHP, files can be copied or renamed using the copy() and rename() functions, respectively. The copy() function requires two parameters: the source file and the destination file. On the other hand, the rename() function requires the current filename and the new filename.

8. File Permissions

PHP enables developers to set file permissions using the chmod() function. It takes two parameters: the filename and the permission code. The permission code defines the access level for the file, such as read, write, or execute.

9. Handling File Errors

When dealing with file operations, it is crucial to handle errors gracefully. PHP offers the file_get_contents() function, which returns the file contents as a string or false if an error occurs. The file_put_contents() function can be used to write data to a file, and it also returns false on failure.

10. Handling Directories

Apart from files, PHP provides functions to handle directories as well. The mkdir() function allows the creation of new directories, while the rmdir() function deletes an empty directory. To read the contents of a directory, we can use the scandir() function.

11. File Size and Information

To retrieve information about a file, such as its size, last modified date, or file type, PHP provides the filesize(), filemtime(), and filetype() functions, respectively. These functions are useful when working with file metadata.

12. File Uploads

PHP makes it straightforward to handle file uploads. The $_FILES superglobal array contains all the information about the uploaded file, including its name, size, and temporary location. The uploaded file can be moved to a desired location using the move_uploaded_file() function.

13. File Compression

If you need to compress files or extract compressed files, PHP offers functions like gzcompress(), gzencode(), gzinflate(), and gzuncompress(). These functions work with gzip compression and can be helpful when dealing with large files or data streams.


In this article, we covered various file handling functions available in PHP. We explored how to open and close files, read and write to files, delete files, check file existence, copy and rename files, handle file permissions, deal with file errors, manage directories, obtain file size and information, handle file uploads, and perform file compression. By mastering these functions, you can efficiently work with files in PHP and build powerful applications.


  1. Can I open multiple files simultaneously in PHP?
    Yes, you can open multiple files simultaneously by using separate file handles for each file.
  2. How can I read a CSV file in PHP?
    PHP provides the fgetcsv() function to read a CSV file. It reads a line from the file and parses it as CSV data.
  3. Is it possible to create a file in a specific directory using PHP?
    Yes, you can create a file in a specific directory by providing the directory path along with the filename when opening or creating the file.
  4. How can I check if a file is writable before writing to it?
    You can use the is_writable() function in PHP to check if a file has write permissions.
  5. Are file handling functions in PHP platform-independent?
    Yes, file handling functions in PHP are platform-independent and can be used on different operating systems.

Suggested mock test