Jump to main content Jump to doc navigation

xPDOCacheManager::deleteTree

Recursively deletes a directory tree of files.

The options array has the following parameters available:

  • deleteTop - If true, will delete the top directory that is specified. Defaults to false.
  • skipDirs - If true, will not delete the directories; just the files. Defaults to false.
  • extensions - An array of file extensions to filter by - will only delete files with those extensions. Set to null or false to delete all files.
  • delete_exclude_items - An array of names of files to skip.
  • delete_exclude_patterns - An array or string of patterns to exclude by.

Syntax

API Docs: http://api.modxcms.com/xpdo/cache/xPDOCacheManager.html#deleteTree

boolean deleteTree (string $dirname, [array $options = array(
   'deleteTop' => false,
   'skipDirs' => false,
   'extensions' => array('.cache.php')
)])

Example

Delete the /modx/assets/videos/ directory (assuming the constant MODX_ASSETS_PATH is set) and all the files in it:

$xpdo->cacheManager->deleteTree(MODX_ASSETS_PATH.'videos/',array(
   'deleteTop' => true,
   'extensions' => false,
));

Delete only .flv files in the above directory:

$xpdo->cacheManager->deleteTree(MODX_ASSETS_PATH.'videos/',array(
   'deleteTop' => true,
   'extensions' => array('.flv'),
));

Delete all movies in above directory, except george.mov, buddies.flv, and any file name containing the word 'fun'.

$xpdo->cacheManager->deleteTree(MODX_ASSETS_PATH.'videos/',array(
   'deleteTop' => true,
   'extensions' => false,
   'delete_exclude_items' => array('george.mov','buddies.flv'),
   'delete_exclude_patterns' => '/fun/i',
));

See Also

  1. xPDOCacheManager.copyFile
  2. xPDOCacheManager.copyTree
  3. xPDOCacheManager.delete
  4. xPDOCacheManager.deleteTree
  5. xPDOCacheManager.endsWith
  6. xPDOCacheManager.escapeSingleQuotes
  7. xPDOCacheManager.get
  8. xPDOCacheManager.getCachePath
  9. xPDOCacheManager.getCacheProvider
  10. xPDOCacheManager.matches
  11. xPDOCacheManager.replace
  12. xPDOCacheManager.writeFile
  13. xPDOCacheManager.set
  14. xPDOCacheManager.writeTree
  15. xPDOCacheManager