2015-03-28 3 views

ответ

7

Так что я не знаю, что вы уже сделали. Итак, начнем с самого начала.

Прежде всего вам нужна библиотека вмешательства. Таким образом, переключиться на основную папку (содержащую файл composer.json) И типа

composer.phar require intervention/image 

Или просто добавить «вмешательство/образ»: «~ 2,1» для вашего требуют массива в composer.json. (И сделать обновление композитора после этого)

"require": { 
    "laravel/framework": "5.0.*", 
    "intervention/image": "~2.1" 
}, 

Теперь вы должны добавить

'Intervention\Image\ImageServiceProvider', 

в массив поставщиков

и

'Image' => 'Intervention\Image\Facades\Image' 

к вашим алиасам Array. Как в конфигурации/app.php

Теперь вы можете создать «функцию загрузки» где-то в контроллере, как

public function upload() { 
    $image = \Image::make(\Input::file('image')); 
    $path = storage_path('app')."/"; 

    // encode image to png 
    $image->encode('png'); 
    // save original 
    $image->save($path."original.png"); 
    //resize 
    $image->resize(300,200); 
    // save resized 
    $image->save($path."resized.png"); 
} 

Это позволит сэкономить два изображения в папку для хранения/приложения. Один в оригинальном размере и один размер до 300x200.

Этот код является лишь примером, он не содержит каких-либо проверок, для правильных изображений или подобных вещей. Он просто берет файл (при условии изображения) и сохраняет его два раза. И, конечно, вам также не нужно кодировать png ...

+0

совершенный. спасибо – Amit

+0

У меня есть эта ошибка: NotSupportedException в строке драйвера.fp 18: модуль ImageMagick недоступен с этой установкой PHP. – Leoh

+0

http://image.intervention.io/getting_started/configuration попробуйте перейти на gd-драйвер –

Смежные вопросы