file_unmanaged_delete_recursive
- Versions
- 7
file_unmanaged_delete_recursive($path)
Recursively delete all files and directories in the specified filepath.
If the specified path is a directory then the function will call itself recursively to process the contents. Once the contents have been removed the directory will also be removed.
If the specified path is a file then it will be passed to file_unmanaged_delete().
Note that this only deletes visible files with write permission.
See also
Parameters
$path A string containing eiher an URI or a file or directory path.
Return value
TRUE for success or if path does not exist, FALSE in the event of an error.
Related topics
Code
includes/file.inc, line 1007
<?php
function file_unmanaged_delete_recursive($path) {
// Resolve streamwrapper URI to local path.
$path = drupal_realpath($path);
if (is_dir($path)) {
$dir = dir($path);
while (($entry = $dir->read()) !== FALSE) {
if ($entry == '.' || $entry == '..') {
continue;
}
$entry_path = $path . '/' . $entry;
file_unmanaged_delete_recursive($entry_path);
}
$dir->close();
return rmdir($path);
}
return file_unmanaged_delete($path);
}
?>Login or register to post comments 