public static function rm($arg, $target_dir = '', $recursive = null) { if (!is_string($target_dir) && is_null($recursive)) { $recursive = $target_dir; $target_dir = ''; } $files = array_reverse(pantr::_getFinderFromArg($arg, $target_dir)); foreach ($files as $target) { if (!file_exists($target)) { pantr::writeAction('rm', $target . ' does not exist', pantr::INFO); return; } if (is_dir($target) && !is_link($target)) { // remove all files pantr::rm(pantr::fileset()->in($target)); // and now all empty directories pantr::rm(pantr::finder(self::TYPE_DIR)->in($target)); pantr::writeAction('rm', $target); rmdir($target); } else { pantr::writeAction('rm', $target); unlink($target); } } }