PHP Filesystem rmdir() Function
The PHP Filesystem rmdir() function is used to remove an empty directory, and return true on success, or false on failure.
The directory must be empty, and relevant permissions must permit this. An E_WARNING level error can be generated on failure.
Syntax
Below is the syntax of the PHP Filesystem rmdir() function −
bool rmdir ( string $dirname [, resource $context ] )
Parameters
Below are the required and optional parameters of the rmdir() function −
| Sr.No | Parameter & Description |
|---|---|
| 1 |
$dirname(Required) It is the path to the directory to be removed. |
| 2 |
$context(Optional) It's a context stream resource. Context is a collection of settings that might change the behavior of a stream. |
Return Value
The function rmdir() returns TRUE on success, and FALSE on failure.
PHP Version
The rmdir() function was first introduced as part of core PHP 4 and work well with the PHP 5, PHP 7 and PHP 8.
Example
Here is the basic example to see how the PHP Filesystem rmdir() function is used to remove a directory.
<?php
if(!is_dir("/PhpProject/examples")) {
mkdir("/PhpProject/examples");
}
rmdir("/PhpProject/examples");
echo "Directory removed successfully!!!";
?>
Output
Here is the outcome of the following code −
Directory removed successfully!!!
Example
Here is the another example to show the usage of rmdir() function to handle the errors if the directory does not exists.
<?php
$dir = "/PhpProject/Myfolder";
if (is_dir($dir)) {
if (rmdir($dir)) {
echo "Directory 'Myfolder' removed successfully.";
} else {
echo "Error removing directory 'Myfolder'.";
}
} else {
echo "Directory 'Myfolder' does not exist.";
}
?>
Output
This will produce the following result −
Directory 'Myfolder' does not exist.
Example
Here is one more example to remove multiple directories using an array of directories with the help of the rmdir() function.
<?php
$dirs = ["Myfolder1", "Myfolder2", "Myfolder3"];
foreach ($dirs as $dir) {
if (is_dir($dir)) {
if (rmdir($dir)) {
echo "Directory '$dir' removed successfully.\n";
} else {
echo "Error removing directory '$dir'.\n";
}
} else {
echo "Directory '$dir' does not exist.\n";
}
}
?>
Output
This will generate the below output −
Directory '/PhpProjects/Myfolder1' removed successfully. Directory '/PhpProjects/Myfolder2' removed successfully. Directory '/PhpProjects/Myfolder3' does not exist.
Example
Here is one more example to use rmdir() function to remove the nested directory.
<?php
// Mention nested directory here
$dir = "/Myfolder1/Myfolder2";
if (is_dir($dir)) {
if (rmdir($dir)) {
echo "Directory 'subdir' within 'parentdir' removed successfully.";
} else {
echo "Error removing directory 'subdir' within 'parentdir'. Ensure the directory is empty.";
}
} else {
echo "Directory 'subdir' within 'parentdir' does not exist.";
}
?>
Output
This will lead to the following output −
Directory 'subdir' within 'parentdir' removed successfully.
Summary
The rmdir() method is a built-in function to used to remove or delete a given directory. Make sure the directory is empty before deleting it, and should have the specific permissions to perform this activity.