PHP Directory Handling

Files are organized into directories, also called folders. This article describes how to create and remove directories and how to get a list of the files in a directory.

1. Create Directory

To create a directory, use the mkdir function, as follows:


This statement creates a new directory named testdir in the same directory where the script is located. If a directory already exists with the same name, a warning is displayed and the new directory is not created.

You can check first to see whether the directory already exists by using the following statements:

 echo "Directory already exists!";

2. List of Files in a Directory

Getting a list of the files in a directory is often useful. For example, you might want to provide a list of files for users to download or want to display images from files in a specific directory.

PHP provides functions for opening and reading directories. To open a directory, use the opendir statement, as follows:

$dh = opendir("/topdir/testdir");

If you attempt to open a directory that doesn’t exist, a warning is displayed.

The variable $dh is a directory handle, a pointer to the open directory that you can use later to read from the directory. To read a filename from the directory, use the readdir function, as follows:

$filename = readdir($dh);

After this statement, $filename contains the name of a file. Only the filename is stored in $filename, not the entire path to the file. To read all the filenames in a directory, you can use a while loop, as follows:

while($filename = readdir($dh))
 echo $filename."\n";

The readdir function doesn’t provide any control over the order in which filenames are read, so you don’t always get the filenames in the order you expect.

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive