rmdirr.php 861 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php // $Id: rmdirr.php 3305 2005-02-03 12:44:01Z bmol $
  2. /**
  3. * Delete a file, or a folder and its contents
  4. *
  5. * @author Aidan Lister <aidan@php.net>
  6. * @version 1.0.2
  7. * @param string $dirname Directory to delete
  8. * @return bool Returns TRUE on success, FALSE on failure
  9. */
  10. function rmdirr($dirname)
  11. {
  12. // Sanity check
  13. if (!file_exists($dirname)) {
  14. return false;
  15. }
  16. // Simple delete for a file
  17. if (is_file($dirname)) {
  18. return unlink($dirname);
  19. }
  20. // Loop through the folder
  21. $dir = dir($dirname);
  22. while (false !== $entry = $dir->read()) {
  23. // Skip pointers
  24. if ($entry == '.' || $entry == '..') {
  25. continue;
  26. }
  27. // Recurse
  28. rmdirr("$dirname/$entry");
  29. }
  30. // Clean up
  31. $dir->close();
  32. return rmdir($dirname);
  33. }
  34. ?>