addOption( 'replace', null, InputOption::VALUE_NONE, 'Replace existing files' ); } /** * Execute the console command. * * @return void */ public function handle(): void { $replace = $this->option('replace'); $files = File::allFiles(public_path('uploads')); foreach ($files as $file) { $filename = pathinfo($file, PATHINFO_BASENAME); $medium = Media::where('name', $filename)->first(); if ($medium !== null) { $medium->update(['status' => 'Processing media']); StoreUploadedFileJob::dispatch($medium, $file, $replace)->onQueue('media'); } else { unlink($file); } } } }