Skip to content
This repository has been archived by the owner on Oct 24, 2020. It is now read-only.

ramimassoud/flysystem-cloudinary

 
 

Repository files navigation

Enl\Flysystem\Cloudinary

Build Status Software License Coverage Status

This is a Flysystem adapter for Cloudinary API.

Installation

composer require enl/flysystem-cloudinary '~1.0'

Or just add the following string to require part of your composer.json:

{
    "require": {
        "enl/flysystem-cloudinary": "~1.0"
    }
}

Bootstrap

<?php
use Enl\Flysystem\Cloudinary\ApiFacade as CloudinaryClient;
use Enl\Flysystem\Cloudinary\CloudinaryAdapter;
use League\Flysystem\Filesystem;

include __DIR__ . '/vendor/autoload.php';

$client = new CloudinaryClient([
    'cloud_name' => 'your-cloudname-here',
    'api_key' => 'api-key',
    'api_secret' => 'You-know-what-to-do',
    'overwrite' => true, // set this to true if you want to overwrite existing files using $filesystem->write();
]);

$adapter = new CloudinaryAdapter($client);
// This option disables assert that file is absent before calling `write`.
// It is necessary if you want to overwrite files on `write` as Cloudinary does it by default.
$filesystem = new Filesystem($adapter, ['disable_asserts' => true]);

Cloudinary features

Please, keep in mind three possible pain-in-asses of Cloudinary:

  • It adds automatically file extension to its public_id. In terms of Flysystem, cloudinary's public_id is considered as filename. But if you set public_id as 'test.jpg' Cloudinary will save the file as 'test.jpg.jpg'. In order to work it around, you can use PathConverterInterface.
  • It does not support folders creation through the API
  • If you want to save your files using folder you should set public_ids like 'test/test.jpg' and allow automated folders creation in your account settings in Cloudinary dashboard.

Good news!

The library supports Cloudinary Transformations!

About

Cloudinary adapter for Flysystem

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%