/** * * Removes unneeded directories * * @return void */ private function _removeDirectories() { $directories = array('data', 'configs', 'models'); foreach ($directories as $directory) { Digitalus_Filesystem_Dir::deleteRecursive(APPLICATION_PATH . '/' . $directory); } }
public static function deleteFolder($folder) { $config = Zend_Registry::get('config'); if (self::testFilepath($folder)) { $folder = Digitalus_Toolbox_String::stripUnderscores($folder); $fullPath = self::rootDirectory() . '/' . $folder; //move the folder to the trash Digitalus_Filesystem_Dir::copyRecursive($fullPath, $config->filepath->trash); Digitalus_Filesystem_Dir::deleteRecursive($fullPath); } }
/** * deletes a directory recursively * * @param string $target * @param bool $verbose * @return bool */ public static function deleteRecursive($target, $verbose = false) { $exceptions = array('.', '..'); if (!($sourcedir = @opendir($target))) { if ($verbose) { echo "<strong>Could't open {$target} </strong><br />\n"; } return false; } while (false !== ($sibling = readdir($sourcedir))) { if (!in_array($sibling, $exceptions)) { $object = str_replace('//', '/', $target . '/' . $sibling); if ($verbose) { echo 'Processing: <strong>' . $object . "</strong><br />\n"; } if (is_dir($object)) { Digitalus_Filesystem_Dir::deleteRecursive($object); } if (is_file($object)) { $result = @unlink($object); if ($verbose && $result) { echo "File has been removed<br />\n"; } if ($verbose && !$result) { echo "<strong>Couldn't remove file</strong>"; } } } } closedir($sourcedir); if ($result = @rmdir($target)) { if ($verbose) { echo "Target directory has been removed<br />\n"; return true; } } else { if ($verbose) { echo "<strong>Couldn't remove target directory</strong>"; return false; } } }