added recursive rmdir function.

This commit is contained in:
Taylor Otwell
2012-02-03 14:01:01 -06:00
parent d9f3725afd
commit 8598721e26

View File

@@ -241,6 +241,39 @@ class File {
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.
*