Was recently working on a project where needed to delete a folder and its sub-folders and files. Here is a snippet that can help you to remove a non-empty directory from the server. It’s a recursive function that deletes the directory with its files, folders and sub-folders.

< ?php
function do_clean($dir,$itself)
{
if ($handle = opendir($dir))
{
$array = array();

    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != "..") {

			if(is_dir($dir.$file))
			{
				if([email protected]($dir.$file)) // Empty directory? Remove it
				{
                do_clean($dir.$file.'/',$itself); // Not empty? Delete the files inside it
				}
			}
			else
			{
               @unlink($dir.$file);
			}
        }
    }
    closedir($handle);

	if($itself) @rmdir($dir); // allows to delete main directory
}

}


//and here how to call function:
do_clean(/home/path/to/mysite.com/folder_to_delete/);// IMPORTANT: with '/' at the end

?>

Enjoy!

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

1 × 2 =

This site uses Akismet to reduce spam. Learn how your comment data is processed.

You May Also Like

Calculate folder and subfolders size with PHP

How to read the size of a directory using PHP? Here is a simple function which could help read the size of the directory, number of directories and the number of files in the given directory.