Example #1
0
/**
 * 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;
 }