コード例 #1
0
ファイル: pantr.php プロジェクト: pago/pantr
 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);
         }
     }
 }