PHPackages                             joshuagibeonm/cloudder - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. joshuagibeonm/cloudder

ActiveLibrary[File &amp; Storage](/categories/file-storage)

joshuagibeonm/cloudder
======================

Cloudinary API wrapper for Laravel

0.7.1(5y ago)0103MITPHPPHP &gt;=5.3.0

Since Apr 6Pushed 5y agoCompare

[ Source](https://github.com/joshuagibeonm/cloudder)[ Packagist](https://packagist.org/packages/joshuagibeonm/cloudder)[ Docs](https://github.com/joshuagibeonm/cloudder)[ RSS](/packages/joshuagibeonm-cloudder/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (2)Dependencies (4)Versions (26)Used By (0)

Cloudder - Cloudinary wrapper for Laravel 5 / Lumen
===================================================

[](#cloudder---cloudinary-wrapper-for-laravel-5--lumen)

#### If you fork it on publish it as your own, it might be nice to credit the original author at .

[](#if-you-fork-it-on-publish-it-as-your-own-it-might-be-nice-to-credit-the-original-author-at-httpsgithubcomteeplusslaravel4-cloudinary)

> Initially forked from . Then forked from .

Installation
------------

[](#installation)

`composer require joshuagibeonm/cloudder`

Configuration
-------------

[](#configuration)

Modify your `.env` file to add the following information from [Cloudinary](http://www.cloudinary.com)

### Required

[](#required)

```
CLOUDINARY_API_KEY=012345679890123
CLOUDINARY_API_SECRET=foobarfoobarfoob-arfoobarfo
CLOUDINARY_CLOUD_NAME=foobarcorp

```

### Optional

[](#optional)

```
CLOUDINARY_BASE_URL
CLOUDINARY_SECURE_URL
CLOUDINARY_API_BASE_URL

```

Laravel 5.5+ uses Package Auto-Discovery, so doesn't require you to manually add the ServiceProvider. If you don't use auto-discovery follow the next steps:

Add the following in config/app.php:

```
'providers' => array(
  JD\Cloudder\CloudderServiceProvider::class,
);

'aliases' => array(
  'Cloudder' => JD\Cloudder\Facades\Cloudder::class,
);
```

Run `php artisan vendor:publish --provider="JD\Cloudder\CloudderServiceProvider"`

Usage
-----

[](#usage)

### upload()

[](#upload)

```
Cloudder::upload($filename, $publicId, array $options, array $tags, $isLarge);
```

with:

- `$filename`: path to the image you want to upload
- `$publicId`: the id you want your picture to have on Cloudinary, leave it null to have Cloudinary generate a random id.
- `$options`: options for your uploaded image, check the [Cloudinary documentation](http://cloudinary.com/documentation/php_image_upload#all_upload_options) to know more
- `$tags`: tags for your image
- `$isLarge`: boolean whether you need to use upload\_large or upload

returns the `CloudinaryWrapper`.

### uploadVideo()

[](#uploadvideo)

```
Cloudder::uploadVideo($filename, $publicId, array $options, array $tags, bool $isLarge);
```

with:

- `$filename`: path to the video you want to upload
- `$publicId`: the id you want your video to have on Cloudinary, leave it null to have Cloudinary generate a random id.
- `$options`: options for your uploaded video, check the Cloudinary documentation to know more
- `$tags`: tags for your image
- `$isLarge`: boolean whether you need to use upload\_large or upload

returns the `CloudinaryWrapper`.

### getPublicId()

[](#getpublicid)

```
Cloudder::getPublicId()
```

returns the `public id` of the last uploaded resource.

### getResult()

[](#getresult)

```
Cloudder::getResult()
```

returns the result of the last uploaded resource.

### show() + secureShow()

[](#show--secureshow)

```
Cloudder::show($publicId, array $options)
Cloudder::secureShow($publicId, array $options)
```

with:

- `$publicId`: public id of the resource to display
- `$options`: options for your uploaded resource, check the Cloudinary documentation to know more

returns the `url` of the picture on Cloudinary (https url if secureShow is used).

### showPrivateUrl()

[](#showprivateurl)

```
Cloudder::showPrivateUrl($publicId, $format, array $options)
```

with:

- `$publicId`: public id of the resource to display
- `$format`: format of the resource your want to display ('png', 'jpg'...)
- `$options`: options for your uploaded resource, check the Cloudinary documentation to know more

returns the `private url` of the picture on Cloudinary, expiring by default after an hour.

### rename()

[](#rename)

```
Cloudder::rename($publicId, $toPublicId, array $options)
```

with:

- `$publicId`: publicId of the resource to rename
- `$toPublicId`: new public id of the resource
- `$options`: options for your uploaded resource, check the cloudinary documentation to know more

renames the original picture with the `$toPublicId` id parameter.

### destroyImage() + delete()

[](#destroyimage--delete)

```
Cloudder::destroyImage($publicId, array $options)
Cloudder::delete($publicId, array $options)
```

with:

- `$publicId`: publicId of the resource to remove
- `$options`: options for the image to delete, check the cloudinary documentation to know more

removes image from Cloudinary.

### destroyImages()

[](#destroyimages)

```
Cloudder::destroyImages(array $publicIds, array $options)
```

with:

- `$publicIds`: array of ids, identifying the pictures to remove
- `$options`: options for the images to delete, check the cloudinary documentation to know more

removes images from Cloudinary.

### addTag()

[](#addtag)

```
Cloudder::addTag($tag, $publicIds, array $options)
```

with:

- `$tag`: tag to apply
- `$publicIds`: images to apply tag to
- `$options`: options for your uploaded resource, check the cloudinary documentation to know more

### removeTag()

[](#removetag)

```
Cloudder::removeTag($tag, $publicIds, array $options)
```

with:

- `$tag`: tag to remove
- `$publicIds`: images to remove tag from
- `$options`: options for your uploaded image, check the Cloudinary documentation to know more

### createArchive()

[](#createarchive)

```
Cloudder::createArchive(array $options, $archiveName, $mode)
```

with:

- `$options`: options for your archive, like name, tag/prefix/public ids to select images
- `$archiveName`: name you want to give to your archive
- `$mode`: 'create' or 'download' ('create' will create an archive and returns a JSON response with the properties of the archive, 'download' will return the zip file for download)

creates a zip file on Cloudinary.

### downloadArchiveUrl()

[](#downloadarchiveurl)

```
Cloudder::downloadArchiveUrl(array $options, $archiveName)
```

with:

- `$options`: options for your archive, like name, tag/prefix/public ids to select images
- `$archiveName`: name you want to give to your archive

returns a `download url` for the newly created archive on Cloudinary.

Running tests
-------------

[](#running-tests)

`phpunit`

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 76.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~94 days

Recently: every ~219 days

Total

22

Last Release

2057d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/9d0668e9eac6f93370b358edc101cfb05df3af9ed198e476d3914aafea9c45cd?d=identicon)[joshuagm](/maintainers/joshuagm)

---

Top Contributors

[![jrm2k6](https://avatars.githubusercontent.com/u/1088099?v=4)](https://github.com/jrm2k6 "jrm2k6 (58 commits)")[![rogervila](https://avatars.githubusercontent.com/u/6053012?v=4)](https://github.com/rogervila "rogervila (5 commits)")[![joshuagibeonm](https://avatars.githubusercontent.com/u/32270425?v=4)](https://github.com/joshuagibeonm "joshuagibeonm (5 commits)")[![bjohanning](https://avatars.githubusercontent.com/u/38767939?v=4)](https://github.com/bjohanning "bjohanning (2 commits)")[![clemblanco](https://avatars.githubusercontent.com/u/668419?v=4)](https://github.com/clemblanco "clemblanco (2 commits)")[![markeilander](https://avatars.githubusercontent.com/u/2378970?v=4)](https://github.com/markeilander "markeilander (1 commits)")[![mikeaag](https://avatars.githubusercontent.com/u/1278785?v=4)](https://github.com/mikeaag "mikeaag (1 commits)")[![osbre](https://avatars.githubusercontent.com/u/23292709?v=4)](https://github.com/osbre "osbre (1 commits)")[![joseraul](https://avatars.githubusercontent.com/u/676681?v=4)](https://github.com/joseraul "joseraul (1 commits)")

---

Tags

apilaravelimageuploadcloudinarylaravel4

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/joshuagibeonm-cloudder/health.svg)

```
[![Health](https://phpackages.com/badges/joshuagibeonm-cloudder/health.svg)](https://phpackages.com/packages/joshuagibeonm-cloudder)
```

###  Alternatives

[teepluss/cloudinary

Cloudinary API wrapper for Laravel 4

1810.5k](/packages/teepluss-cloudinary)[sopamo/laravel-filepond

Laravel backend module for filepond uploads

215272.2k3](/packages/sopamo-laravel-filepond)[sahusoftcom/eloquent-image-mutator

One solution for image uploads.

12016.3k](/packages/sahusoftcom-eloquent-image-mutator)[codebar-ag/laravel-flysystem-cloudinary

Cloudinary Flysystem v1 integration with Laravel

1224.9k2](/packages/codebar-ag-laravel-flysystem-cloudinary)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
