Хотя резервная копия 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](https://i.stack.imgur.com/3cZhG.png)
При использовании «spatie / laravel-backup»: «3.0.0», в этой версии я получал путь к файлу, используя
$event->backupDestination->getNewestBackup()->path();