/** * Делает резервную копию файлов преде удалением * */ 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; }