In this tutorial I assume that you have already prepared your Laravel project environment and have begginer/intermediate knowledge in PHP/Laravel.
First of all, we need to prepare our object storage environment on Vultr's admin panel. If you don't have a Vultr account just create one here. As soon as you have created your account you'll need to create an object storage and then a bucket. For this tutorial focus on how to implement this feature on Laravel i'll just skip this steps and leave a link wich explain all of them here.
To achieve our goal, we need to install flysystem. Flysystem is a well-known file storage library for PHP, it supports many filesystems and provides interfaces for all of them. In our case we'll specifically use aws-s3 but if you want to know more about the library feel free to visit their official documentation page here
composer require league/flysystem-aws-s3-v3
After we've successfully installed our dependency we need now to communicate Laravel that we have a new filesystem and it's credentials.
In configfilesystems.php on disks array you'll add the following:
'vultr' => [ 'driver' => 's3', 'key'=> env('VULTR_ACCESS_KEY'), 'secret' => env('VULTR_SECRET_KEY'), 'region' => env('VULTR_REGION'), 'bucket' => env('VULTR_BUCKET'), 'endpoint' => env('VULTR_ENDPOINT'), ],
obs: You can obtain all this information in vult's panel on object storage section.
Now we need to add our credentials to .env to authenticate and execute the proper functions.
VULTR_ACCESS_KEY=youraccesskey VULTR_SECRET_KEY=yoursecretkey VULTR_REGION=sjc1 VULTR_BUCKET=yourbucket VULTR_ENDPOINT=https://sjc1.vultrobjects.com
Now we can just call our storage class specifying the previously configured vultr disk:
Storage::disk('vultr')->putFile('uploads', request()->file, 'public');
Now we can perform all object storage action within our laravel application!
https://laravel.com/docs/11.x/filesystem
https://ecwebservices.medium.com/how-to-use-vultr-object-storage-with-laravel-8-a21256f1b4a1
The above is the detailed content of How to Use Vultr Object Storage with Laravel (Sompatible). For more information, please follow other related articles on the PHP Chinese website!