added recursive rmdir function.

This commit is contained in:
Taylor Otwell 2012-02-03 14:01:01 -06:00
parent d9f3725afd
commit 8598721e26
1 changed files with 33 additions and 0 deletions

View File

@ -241,6 +241,39 @@ public static function cpdir($source, $destination, $delete = false, $options =
if ($delete) rmdir($source); if ($delete) rmdir($source);
} }
/**
* Recursively copy directory contents to another directory.
*
* @param string $source
* @param string $destination
* @param bool $delete
* @param int $options
* @return void
*/
public static function rmdir($directory)
{
if ( ! is_dir($directory)) return;
$items = new fIterator($directory);
foreach ($items as $item)
{
// If the item is a directory, we can just recurse into the
// function and delete that sub-directory, otherwise we'll
// just deleete the file and keep going!
if ($item->isDir())
{
static::rmdir($item->getRealPath());
}
else
{
@unlink($item->getRealPath());
}
}
@rmdir($directory);
}
/** /**
* Get the most recently modified file in a directory. * Get the most recently modified file in a directory.
* *