Estoy tratando de escribir un script en el que intento mover imágenes de un servidor antiguo a Amazon s3. ¿Es posible hacerlo descargando la imagen desde una url?
$companies = Company::all(); $companies->each( function ($company) { //some method to download file $file = download($company->logo); //Store on s3 $filename = $file->storeAs('images', uniqid('img_') . "." . $file->guessClientExtension(),'s3'); //Get the new path $new_path = Storage::disk('s3')->url($filename); //save the new path to logo $company->logo = $new_path; //save the new path $company->save(); }Puede usar esta biblioteca Php League FileSystem
Tiene una integración para laravel y otros frameworks como zend, Cake, etc.
La biblioteca tiene un adaptador para amazon S3 V2 y amazon s3 V3
Documentación completa aquí