file_unmanaged_delete_recursive
function file_unmanaged_delete_recursive
file_unmanaged_delete_recursive($path)
Deletes all files and directories in the specified filepath recursively.
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.
Parameters
$path: A string containing either 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.
See also
Related topics
File
- includes/file.inc, line 1363
- API for handling file uploads and server file management.
Code
function file_unmanaged_delete_recursive($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 drupal_rmdir($path); } return file_unmanaged_delete($path); }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/includes!file.inc/function/file_unmanaged_delete_recursive/7.x