_filesToBackup = array(); $this->_streamsToBackup = array(); } /** * Add the current date with the given format into the files names * * @param string $format * * @return $this */ function addDate($format = 'Ymd') { $tmpFiles = array(); foreach($this->_filesToBackup as $file => $name) { $nameA = explode('.', $name); $nameA[] = end($nameA); $nameA[count($nameA)-2] = date($format); $name = implode('.', $nameA); $tmpFiles[$file] = $name; } $this->_filesToBackup = $tmpFiles; $tmpStream = array(); foreach($this->_streamsToBackup as $name => $stream) { $tmpStream[$name . '-' . date($format)] = $stream; } $this->_streamsToBackup = $tmpStream; return $this; } /** * Add the current time with the given format into the files names * * @param string $format * * @return $this */ function addTime($format = 'his') { $tmpFiles = array(); foreach($this->_filesToBackup as $file => $name) { $nameA = explode('.', $name); $nameA[] = end($nameA); $nameA[count($nameA)-2] = date($format); $name = implode('.', $nameA); $tmpFiles[$file] = $name; } $this->_filesToBackup = $tmpFiles; $tmpStream = array(); foreach($this->_streamsToBackup as $name => $stream) { $tmpStream[$name . '-' . date($format)] = $stream; } $this->_streamsToBackup = $tmpStream; return $this; } function backupToEmail($to, $from, $objet, $mes) { $email = new Shikiryu_Backup_Email(); $email->addTo($to) ->setFrom($from) ->setSubject($objet) ->setMessage($mes) ->setFiles($this->_filesToBackup) ->setStreams($this->_streamsToBackup); return $email->send(); } function backupToDropbox() { } function backupToFTP($adress, $login = '', $pwd = '', $path ='/') { $ftp = new Shikiryu_Backup_FTP($adress, $login, $pwd, $path); $ftp->setFiles($this->_filesToBackup) ->setStreams($this->_streamsToBackup) ->send(); } function backupToFolder($folder) { if (!empty($folder)) { $folder = sprintf('%s/',rtrim($folder, '/')); } // if($folder != '') // { // if(substr($folder, 0, -1) != '/') // $folder .= '/'; // } foreach($this->_filesToBackup as $file => $name) { copy($file, $folder . $name); } foreach($this->_streamsToBackup as $name => $file) { if (count(explode('.', $name)) < 2) { $name = 'backup' . $name . '.txt'; } file_put_contents($folder . $name, $file); } } /** * Check if all files got the minimum given size. * * @param int $fs * * @return bool */ function checkMinimumFilesize($fs) { foreach($this->_filesToBackup as $file => $name) { if (filesize($file) < $fs) { return false; } } foreach($this->_streamsToBackup as $name => $file) { if (mb_strlen($file, 'utf-8') < $fs) { return false; } } return true; } } ?>