Laravel 5.6 - Невозможно получить резервную копию файла с именем spatie laravel backup - PullRequest
0 голосов
/ 20 февраля 2019

Хотя резервная копия Spatie генерирует zip-файл, и мне нужно сохранить имя zip-файла в базе данных.Итак, я создал BackupWasSuccessfulListener и пытаюсь получить имя файла резервной копии, используя $ event-> backupDestination, но он не возвращает имя файла или путь.

Резервная копия сохраняется по следующему пути: Хранилище / приложение /

Я использую следующие версии:

"php": "^7.1.3",
"laravel/framework": "5.6.*",
"spatie/laravel-backup": "^5.12",
class BackupWasSuccessfulListener {
    public function handle(BackupWasSuccessful $event) {
    $path = $event->backupDestination;
    dd($path); //See Screenshot 
    //Get file size
    // $fileSize = $this->formatSizeUnits(filesize(storage_path('app/' . $path)));

    //$backup = DatabaseBackup::create([
    //  'name' => $path,
    //  'size' => $fileSize,
    //]);

    \Log::info("Backup done successfully");

}

public function formatSizeUnits($bytes) {
    if ($bytes >= 1073741824) {
        $bytes = number_format($bytes / 1073741824, 2) . ' GB';
    } elseif ($bytes >= 1048576) {
        $bytes = number_format($bytes / 1048576, 2) . ' MB';
    } elseif ($bytes >= 1024) {
        $bytes = number_format($bytes / 1024, 2) . ' KB';
    } elseif ($bytes > 1) {
        $bytes = $bytes . ' bytes';
    } elseif ($bytes == 1) {
        $bytes = $bytes . ' byte';
    } else {
        $bytes = '0 bytes';
    }

    return $bytes;
}

Это то, что я получаю, когда пытаюсь выполнить dd ($ event-> backupDestination);

Spatie Laravel Backup BackupDestination Result

При использовании «spatie / laravel-backup»: «3.0.0», в этой версии я получал путь к файлу, используя

$event->backupDestination->getNewestBackup()->path();
...