December 5, 2011

How to remove a directory and it’s content using PHP

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(!@rmdir($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!

PHP # ,
Share: / / /

You might also like

Leave a Reply

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

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

Stay In Touch