PHPackages                             someline/someline-image - 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. [Image &amp; Media](/categories/media)
4. /
5. someline/someline-image

ActiveLibrary[Image &amp; Media](/categories/media)

someline/someline-image
=======================

Someline Image is a helper service to handle uploaded images and store images without duplicates.

v2.3.6(5y ago)45.3k43MITPHPPHP &gt;=5.3.0CI failing

Since Sep 27Pushed 5y ago1 watchersCompare

[ Source](https://github.com/someline/someline-image)[ Packagist](https://packagist.org/packages/someline/someline-image)[ Docs](https://github.com/someline/someline-image)[ RSS](/packages/someline-someline-image/feed)WikiDiscussions master Synced 4w ago

READMEChangelog (10)Dependencies (4)Versions (35)Used By (3)

Someline Image Service
======================

[](#someline-image-service)

[![Latest Version](https://camo.githubusercontent.com/8fda5d37ee6dc8069da59488623854fd9e098c2ed07d878560c1c38531993f48/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f736f6d656c696e652f736f6d656c696e652d696d6167652e7376673f7374796c653d666c61742d737175617265)](https://github.com/someline/someline-image/releases)[![Software License](https://camo.githubusercontent.com/55c0218c8f8009f06ad4ddae837ddd05301481fcf0dff8e0ed9dadda8780713e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](LICENSE.md)[![Total Downloads](https://camo.githubusercontent.com/264bbf993ca2d9d7c60be92240ed4c8ee4c7640aacf36ec5f489cdf455d0205e/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f736f6d656c696e652f736f6d656c696e652d696d6167652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/someline/someline-image)

Someline Image is a helper service to handle uploaded images and store images without duplicates.

Build for Laravel and [Someline Starter](https://starter.someline.com).

Install
-------

[](#install)

### Via Composer

[](#via-composer)

Install composer package to your laravel project

```
composer require someline/someline-image
```

Add Service Provider to `config/app.php`

```
    'providers' => [
        ...
        Someline\Image\SomelineImageServiceProvider::class,
        ...
    ],
```

Publishing config file.

```
php artisan vendor:publish
```

After published, config file for Rest Client is `config/someline-image.php`, you will need to config it to use Rest Client.

Usage
-----

[](#usage)

#### Routes

[](#routes)

```
Route::get('/image/{name}', 'ImageController@showOriginalImage');
Route::post('/image', 'ImageController@postImage');
```

#### Many Imageables

[](#many-imageables)

Use on the Model:

```
    use SomelineHasImageablesTrait;
```

Usage:

```
/** @var SomelineImage $somelineImage */
$somelineImage = SomelineImage::find(1);

/** @var User $user */
$user = User::find(1);

// save image relations smartly with sequence support (recommended)
$user->syncImages([1, 2], ['type' => 'cover', 'data' => json_encode('a')]);

// save image relations via save
$user->images()->save($somelineImage, ['type' => 'cover', 'data' => json_encode('a')]);

// save image relations via attach
$user->images()->attach(1, ['type' => 'cover', 'data' => json_encode('a')]);

// update image relations via sync
$user->images()->sync([1]);

// set as main image
$user->setAsMainImage($somelineImage);

// set as type main image
$user->setAsTypeMainImage('cover', $somelineImage);

// get all images
print_r($user->getImages()->toArray());

// get first main image
print_r($user->getMainImage()->toArray());

// get all main images
print_r($user->getMainImages()->toArray());

// get all type images
print_r($user->getTypeImages('cover')->toArray());

// get all type images and are main images
print_r($user->getTypeMainImages('cover')->toArray());
```

#### Sample Controller File

[](#sample-controller-file)

`app/Http/Controllers/ImageController.php`

```
