function filesBackup($task) { echo "Files backup with taskID = " . $task['id'] . "\n"; $archFolder = getTaskFolder($task); $target = $task['file-filename']; if ($archFolder == '') { return 'Error'; } $fileName = $archFolder . "/" . date('Y-m-d*h:i', time()) . ".tar.gz"; $zip = new ZipArchive(); $zip->open($fileName, ZipArchive::CREATE | ZipArchive::OVERWRITE); $exclude = explode("\n", $task['file-exclude']); if (!$exclude[0]) { $exclude = array(); } $exclude[] = __workfolder; if (is_file($target)) { $zip->addFile($target, basename($target)); } else { // Archiving folder $files = excludeFiles(getStructFiles($target), $exclude); $folders = excludeFiles(getStructFolders($target), $exclude); foreach ($folders as $folder) { $zip->addEmptyDir(str_replace(addLastSlash($target), '', $folder)); } foreach ($files as $file) { $zip->addFile($file, str_replace(addLastSlash($target), '', $file)); } echo "Num files = " . $zip->numFiles . "\n"; echo "Status = " . $zip->status . "\n"; } $zip->close(); delOldFiles($archFolder, $task['deep']); return 'Ok'; }
function lastSlashFix($url = null) { if ($url !== '/') { if (Config::get('app/cut_last_slash') == true) { $url = removeLastSlash($url); } else { $url = addLastSlash($url); } } return $url; }