xPDOCacheManager::deleteTree

deleteTree - рекурсивно удаляет дерево каталогов.

Массив вариантов принимает следующие параметры.

  • deleteTop - Если true, будет удален верхний указанный каталог. По умолчанию false.
  • skipDirs - Если true, не будут удалятся каталоги, только файлы. По умолчанию false.
  • extensions - Массив файлов с расширениями для удаления. Значение NULL или false, чтобы удалить все файлы.
  • delete_exclude_items - массив имен файлов для пропуска.
  • delete_exclude_patterns - массив строк шаблонов для пропуска.

Пример вызова:

Удаляем папку MODX_ASSETS_PATH.'videos/ и все файлы в этой папке

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

Удаляем только файлы с расширением .flv:

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

Удаляем все файлы кроме george.mov и buddies.flv и файлов содержащих в названии строку 'fun':

<?php
$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',
));

Описание метода:

boolean deleteTree (string $dirname, [array $options = array(
   'deleteTop' => false,
   'skipDirs' => false,
   'extensions' => array('.cache.php')
)])
xPDOCacheManager::copyFile - копирует файл в целевую категорию.…
xPDOCacheManager::copyTree - рекурсивное копирование дерева…
xPDOCacheManager::delete - удаляем файлы.
xPDOCacheManager::deleteTree - рекурсивно удаляет дерево каталогов.
xPDOCacheManager::endsWith - проверяет строку по шаблону,…
xPDOCacheManager::escapeSingleQuotes - экранирует ковычки.
xPDOCacheManager::get - экранирует ковычки.