示例#1
0
 /**
  * Делает резервную копию файлов преде удалением
  *
  */
 private function backup()
 {
     $ol = array();
     // list of backuped files and dirs
     foreach ($this->list as $path) {
         //io::out("\tBackup: ", false);
         // создание директории отката
         if (($parentDir = dirname($path)) != '.' && !$this->backup->getDir($parentDir)->exists()) {
             $this->backup->mkdir($parentDir);
         }
         $df = $this->target->getDir($path);
         if (!$df->exists()) {
             io::out($df . ' not found', IO::MESSAGE_WARN);
             continue;
         } elseif (is_file($df)) {
             $df = $this->target->getFile($path);
             $backupObject = $this->backup->getFile($path);
             //io::out ('[F] ', false);
         } else {
             $backupObject = $this->backup->getDir(dirname($path));
             //io::out('[D] ', false);
         }
         //io::out($path."\t" , false);
         $ol[] = $df;
         try {
             $df->copy($backupObject);
         } catch (FileSystemException $e) {
             return io::Out(PHP_EOL . 'Backuping fail at ' . $df . ' With message ' . $e->getMessage(), IO::MESSAGE_FAIL);
         }
         //IO::out(' ', IO::MESSAGE_OK);
     }
     return $ol;
 }