/** * Prepare backup path with periodic subfolder and auto create path when needed * @param String $backup_path main backup path * @param Boolean $use_month Set if path should include current month * @param Boolean $use_date Set if path should include current date * @param Boolean $use_subdir Set is month and date is created as subdir * @return String Full backup path */ function createBackupDirectory($backup_path, $use_month = true, $use_date = true, $use_subdir = true) { $dir_to_create = array(); $dir_to_create[] = date('Y'); if ($use_month) { $dir_to_create[] = date('m'); } if ($use_date) { $dir_to_create[] = date('d'); } if (!$use_subdir) { $backup_path .= implode('', $dir_to_create) . '/'; autoCreateDirectory($backup_path); } else { $prev_dir = ''; foreach ($dir_to_create as $dir) { $backup_path .= $prev_dir . $dir . '/'; autoCreateDirectory($backup_path); $prev_dir .= $dir; } } return $backup_path; }
public static function generateArchiveFilepath($period, $table_name, $use_timestamp_as_prefix = true, $file_counter = null) { if (is_null(self::$archive_timestamp)) { self::$archive_timestamp = date('ymd_Hi'); } $path = DIR_FS_ARCHIVES . self::ARCHIVE_PATH; autoCreateDirectory($path); $path .= $period . '/'; autoCreateDirectory($path); $filename = $table_name; if (!is_null($file_counter)) { $filename .= $table_name . '-part-' . $file_counter; } $filename .= '.xls'; if ($use_timestamp_as_prefix) { $path .= self::$archive_timestamp . '-'; } $path .= $filename; return $path; }