2017 © Pedro Peláez
 

library storage-manager

Storage manager with thumbnails support

image

x000000/storage-manager

Storage manager with thumbnails support

  • Monday, August 1, 2016
  • by x000000
  • Repository
  • 3 Watchers
  • 6 Stars
  • 585 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 8 Versions
  • 2 % Grown

The README.md

Storage Manager

This project is a PHP library written to make uploading and storing files as easy as possible. And it can make thumbnails you want., (*1)

Requirements & Dependency

The library has the following requirements: * PHP 5.6+ * The library has a single dependency - Imagine. This only needed if you what to make thumbnails with storage-manager., (*2)

Installation

The preferred way to install this library is through composer., (*3)

Either run, (*4)

php composer.phar require --prefer-dist x000000/storage-manager

or add, (*5)

"x000000/storage-manager": "^0.3"

to the require section of your composer.json., (*6)

Usage

Storing

First of all you need to instantiate Storage object:, (*7)

processFile()` and passing full path to the file we want to store:
```php
processFile('/full/path/to/image.png');
```

or if you want to process newly uploaded file you can use `$storage->processUploadedFile()` and passing an item from $_FILES array:
```php
processUploadedFile($_FILES['your_file_key']);
```

Now if everything is fine we have `$image` stored in `$baseDir` and renamed with it md5 content accordingly.
For example it could be something like `aed0d71a5adaff3a43b75fb4ccc7ff48.png`.
Yes, we've lost it original name, but we do not store duplicates either.

After successful storing file on your physical disk, you may want to save it to the database too.
And you do not have to save a full path to the file, you may save only a file name - `$image`.

### Displaying
Now you may want to display an `$image` or just share a link to it:
```html


That's it. By calling $storage->getSource() we can get a full url (domain not included) to the source file (not only images)., (*8)

Thumbnails

There are use-cases when you do not want to display an original $image. Or you want to display a nice square thumbnail (hello Instagram). Or just resized/watermarked $image., (*9)

To make it possible there is a helper method $storage->thumb():, (*10)

This $image resized to fit 300 width
<img src="<?= $storage->thumb($image)->resize(300, null); ?>" />

This $image resized to fit 600 height
<img src="<?= $storage->thumb($image)->resize(null, 600); ?>" />

This $image resized to fit 300x600 pixels size
<img src="<?= $storage->thumb($image)->resize(300, 600); ?>" />

This $image resized by the half with saving original aspect ratio
<img src="<?= $storage->thumb($image)->resize('50%', null); ?>" />


This $image cropped with a rectangle sized 50% x 60% from original image with center in 20x30 on original image
<img src="<?= $storage->thumb($image)->crop(20, 30, '50%', '60%'); ?>" />

This $image cropped with a square with a side size of a lowest $image side.
This is Instagram-ish square crop.
<img src="<?= $storage->thumb($image)->crop('50%', '50%', '100%', '100%', Crop::COVER); ?>" />

This $image cropped with a square with a side size of a greatest $image side.
This is Instagram-ish square crop either, but it adds padding instead of cropping the original.
<img src="<?= $storage->thumb($image)->crop('50%', '50%', '100%', '100%', Crop::CONTAIN); ?>" />

This $image cropped with a rectangle with aspect ratio 16:9.
<img src="<?= $storage->thumb($image)->crop('50%', '50%', '100%', null, 16/9); ?>" />


And of course you can chain resize, crop etc...
<img src="<?= $storage->thumb($image)
    ->crop('50%', '50%', '100%', '100%', Crop::COVER)
    ->resize(300, null); ?>" />


If you do not chain any transform url to the source file will be returned:
<img src="<?= $storage->thumb($image); ?>" />
equals to
<img src="<?= $storage->getSource($image); ?>" />

For now, there are only resize and crop supported, but you can use your own image transforms. For more info see Transform::add()., (*11)

The Versions

01/08 2016

dev-master

9999999-dev

Storage manager with thumbnails support

  Sources   Download

MIT

The Requires

 

by Avatar x000000

01/08 2016

0.3.2

0.3.2.0

Storage manager with thumbnails support

  Sources   Download

MIT

The Requires

 

by Avatar x000000

01/08 2016

dev-develop

dev-develop

Storage manager with thumbnails support

  Sources   Download

MIT

The Requires

 

by Avatar x000000

20/07 2016

0.3.1

0.3.1.0

Storage manager with thumbnails support

  Sources   Download

MIT

The Requires

 

by Avatar x000000

20/07 2016

0.3.0

0.3.0.0

Storage manager with thumbnails support

  Sources   Download

MIT

The Requires

 

by Avatar x000000

19/07 2016

0.2.1

0.2.1.0

Yii2 storage manager with thumbs support

  Sources   Download

MIT

The Requires

 

by Avatar x000000

14/07 2016

0.2.0

0.2.0.0

Yii2 storage manager with thumbs support

  Sources   Download

MIT

The Requires

 

by Avatar x000000

14/07 2016

0.1

0.1.0.0

Yii2 storage manager with thumbs support

  Sources   Download

MIT

The Requires

 

by Avatar x000000