UploadsFile.php 513 B

123456789101112131415161718192021
  1. <?php
  2. namespace App\Traits;
  3. use Illuminate\Http\UploadedFile;
  4. use Illuminate\Support\Facades\Storage;
  5. use Illuminate\Support\Str;
  6. trait UploadsFile
  7. {
  8. public function uploadFile(UploadedFile $file, string $folder, ?string $filename = null): string
  9. {
  10. $extension = $file->getClientOriginalExtension();
  11. $name = $filename ?? Str::random(20).'.'.$extension;
  12. $path = $folder.'/'.$name;
  13. Storage::disk('s3')->put($path, file_get_contents($file));
  14. return $path;
  15. }
  16. }