yoelpc4 / laravel-cloudinary
Laravel Cloudinary filesystem cloud driver.
Installs: 38 286
Dependents: 0
Suggesters: 0
Security: 0
Stars: 33
Watchers: 3
Forks: 11
Open Issues: 0
pkg:composer/yoelpc4/laravel-cloudinary
Requires
- php: >=8.2
- cloudinary/cloudinary_php: ^3.1.0
- illuminate/contracts: ^11.0|^12.0
- illuminate/filesystem: ^11.0|^12.0
- illuminate/http: ^11.0|^12.0
- illuminate/support: ^11.0|^12.0
- league/flysystem: ^3.29.1
Requires (Dev)
- orchestra/testbench: ^9.0|^10.0
- phpunit/phpunit: ^11.0
This package is auto-updated.
Last update: 2025-10-14 20:23:38 UTC
README
Laravel Cloudinary filesystem driver.
Requirement
Laravel Version Compatibilities
| Laravel | Package |
|---|---|
| 12.x.x | 6.x |
| 11.x.x | 5.x |
| 10.x.x | 4.x |
| 9.x.x | 3.x |
| 8.x.x | 2.x |
| 7.x.x | 2.x |
| 6.x.x | 2.x |
Install
Requires this package with composer via command:
composer require yoelpc4/laravel-cloudinary
Environment Variable
Register your Cloudinary account details here. Then add these lines to your .env.
FILESYSTEM_DISK=cloudinary CLOUDINARY_API_KEY= CLOUDINARY_API_SECRET= CLOUDINARY_CLOUD_NAME= CLOUDINARY_SECURE=true
Filesystem Configuration
Register cloudinary driver configuration in config/filesystems.php at disks section as follows
'cloudinary' => [ 'driver' => 'cloudinary', 'api_key' => env('CLOUDINARY_API_KEY'), 'api_secret' => env('CLOUDINARY_API_SECRET'), 'cloud_name' => env('CLOUDINARY_CLOUD_NAME'), 'secure' => env('CLOUDINARY_SECURE', true), 'resource_types' => [ 'image' => [ 'png', 'jpeg', 'jpg', ], 'video' => [ 'mp4', 'avi', 'mp3', 'flac', ], 'raw' => [ 'pdf', 'xlsx', 'csv', 'txt', ], ], ],
The secure option is applied when generating url from storage, when secure = true will use https
otherwise secure = false will use http as protocol.
The resource_types option is applied when generating resource type & public id whenever we call storage method such as
write, writeStream, url, has, etc. Registers the appropriate file extensions according to cloudinary resource type e.g:
png in image, mp4 in video, xlsx in raw, for audio files registers in video. The default resource type is image,
visit image upload api reference for more information.
Tips
To use pre-defined filename as public ID when uploading to cloudinary, you need to tweak some configuration
in Settings -> Upload -> Upload presets as follows:
-
Click edit button on signed mode preset, initial preset is
ml_defaultyou can update it. -
Turn on
Use filename or externally defined public IDto using the pre-defined filename instead of random characters. -
Turn off
Unique filenameto prevent cloudinary from adding random characters at the end of filename. -
Click
Saveand you're good to go.
License
The Laravel Cloudinary is open-sourced software licensed under the MIT license.