Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 17.08.2015 20:54:45

Laravel: Storage работа с изображениями

Нужна помощь, столкнулся с такой ситацией, нужно взять файл изменить его размер(обрезать) и записать в директорию используя Storage. Я обращаюсь к файлу и записываю, а вот как изменить его размер(обрезать) незнаю, использовал imagecopyresampled, imagecreatefromjpeg, imagejpeg, но с Storage не получается их использовать.

$filename = \Auth::id().'.jpg';
$content = Storage::disk('photos')->get('8.1438179120.jpg');
\Storage::disk('photos')->put($filename, $content);

Изменено akim157 (17.08.2015 20:55:55)

Не в сети

#2 18.08.2015 12:18:50

Artdevue
Откуда: Kiev
Сообщений: 119
Сайт

Re: Laravel: Storage работа с изображениями


If you think it’s expensive to hire a professional to do the job, wait until you hire an amateur.

Не в сети

#3 18.08.2015 12:24:43

Re: Laravel: Storage работа с изображениями

Спасибо, а не используя этот иструмент есть еще какие либо варианты?

Не в сети

#4 18.08.2015 13:43:45

stuchin
Откуда: Волгоград
Сообщений: 68

Re: Laravel: Storage работа с изображениями

а как сохранять изображения использую Storage

Не в сети

#5 18.08.2015 14:36:15

Re: Laravel: Storage работа с изображениями

Запись в файл
Storage::put('file.jpg', $contents);

Не в сети

#6 18.08.2015 14:36:39

Re: Laravel: Storage работа с изображениями

$content - содержимое файла

Не в сети

#7 18.08.2015 15:15:15

stuchin
Откуда: Волгоград
Сообщений: 68

Re: Laravel: Storage работа с изображениями

akim157 пишет:

Запись в файл
Storage::put('file.jpg', $contents);

это понятно, именно вопрос как записать изображение использую библиотеку, там просто есть функция сохранения изображения напрямую в файловую систему, я ее использую в своем проекте но не знаю как так сделать используя Storage

Не в сети

#8 18.08.2015 15:53:45

Artdevue
Откуда: Kiev
Сообщений: 119
Сайт

Re: Laravel: Storage работа с изображениями

stuchin пишет:

а как сохранять изображения использую Storage

там свой инструмент есть

// open an image file
$img = Image::make('public/foo.jpg');

// resize image instance
$img->resize(320, 240);

// insert a watermark
$img->insert('public/watermark.png');

// save image in desired format
$img->save('public/bar.jpg');

установил, всё есть ресайз http://image.intervention.io/api/resize и.т.д


If you think it’s expensive to hire a professional to do the job, wait until you hire an amateur.

Не в сети

#9 19.08.2015 09:23:46

stuchin
Откуда: Волгоград
Сообщений: 68

Re: Laravel: Storage работа с изображениями

вопрос так и не раскрыт, увы

Не в сети

#10 19.08.2015 13:10:49

Artdevue
Откуда: Kiev
Сообщений: 119
Сайт

Re: Laravel: Storage работа с изображениями

stuchin пишет:

вопрос так и не раскрыт, увы

Посмотрите здесь http://www.codetutorial.io/laravel-5-fi … -download/
У меня L5 не установленная, так-что проверить не могу.


If you think it’s expensive to hire a professional to do the job, wait until you hire an amateur.

Не в сети

#11 20.08.2015 10:52:17

Cheshirrski
masterМастер
Откуда: Днепр
Сообщений: 116
Статей: 2

Re: Laravel: Storage работа с изображениями

Просто с файловой системой, без Storage код работает?

Не в сети

#12 20.08.2015 12:34:36

stuchin
Откуда: Волгоград
Сообщений: 68

Re: Laravel: Storage работа с изображениями

Cheshirrski пишет:

}%Просто с файловой системой, без Storage код работает?

естественно работает ,что ему не работать, но Storage удобней, вдруг захочется хранить фото в S3 например без переделки кода.

Не в сети

#13 20.08.2015 15:32:11

Cheshirrski
masterМастер
Откуда: Днепр
Сообщений: 116
Статей: 2

Re: Laravel: Storage работа с изображениями

Покажи рабочий код

Не в сети

#14 20.08.2015 17:27:39

stuchin
Откуда: Волгоград
Сообщений: 68

Re: Laravel: Storage работа с изображениями

код простой здесь сохранение с ресайзом

if ($file = Input::file('photo'))
        {
           
        $image = Input::file('photo');
            $filename  = str_random(6) . '.' . $image->getClientOriginalExtension();
            $path = public_path('/uploads/' . $filename);
            Image::make($image->getRealPath())->resize(200, 200)->save($path);
           

        }

Изменено stuchin (20.08.2015 17:28:36)

Не в сети

#15 20.08.2015 17:59:54

Cheshirrski
masterМастер
Откуда: Днепр
Сообщений: 116
Статей: 2

Re: Laravel: Storage работа с изображениями

попробуй так:

PHP
if ($image Input::file('photo'))
{
    
$filename  str_random(6) . '.' $image->getClientOriginalExtension();
    
$path public_path('/uploads/' $filename);
    
$resizedImage Image::make($image->getRealPath())->resize(200200)->save($path);
    
Storage::put('uploads/' $filename,  $resizedImage);
}

Изменено Cheshirrski (20.08.2015 18:02:13)

Не в сети

#16 20.08.2015 19:02:09

stuchin
Откуда: Волгоград
Сообщений: 68

Re: Laravel: Storage работа с изображениями

Cheshirrski пишет:

}%попробуй так:
%%(php)
if ($image = Input::file('photo'))
{
    $filename  = str_random(6) . '.' . $image->getClientOriginalExtension();
    $path = public_path('/uploads/' . $filename);
    $resizedImage = Image::make($image->getRealPath())->resize(200, 200)->save($path);
    Storage::put('uploads/' . $filename,  $resizedImage);
}
%%


все получилось, работает , отлично

Не в сети

#17 20.08.2015 19:13:50

stuchin
Откуда: Волгоград
Сообщений: 68

Re: Laravel: Storage работа с изображениями

однако картинка сохраняется два раза? что не совсем как то правильно , по другому не работает

Изменено stuchin (20.08.2015 19:17:19)

Не в сети

#18 20.08.2015 19:27:31

Cheshirrski
masterМастер
Откуда: Днепр
Сообщений: 116
Статей: 2

Re: Laravel: Storage работа с изображениями

Ну так удали вторую, в чем проблема? Проверить не могу, но код вроде

Storage::put('uploads/' . $filename,  Image::make($image->getRealPath())->resize(200, 200));

работать не будет (но ты можешь попробовать, с уверенностью сказать не могу).

Изменено Cheshirrski (20.08.2015 19:30:32)

Не в сети

#19 20.08.2015 19:28:29

stuchin
Откуда: Волгоград
Сообщений: 68

Re: Laravel: Storage работа с изображениями

все разобрался
рабочий код

if ($image = Input::file('photo'))
{
    $filename  = str_random(6) . '.' . $image->getClientOriginalExtension();
    $path = public_path('/uploads/' . $filename);
    $resizedImage = Image::make($image->getRealPath())->resize(200, 200);
    $resizedImage->response('jpg');
    Storage::put('uploads/' . $filename,  $resizedImage);
}

Не в сети

#20 21.08.2015 12:23:23

stuchin
Откуда: Волгоград
Сообщений: 68

Re: Laravel: Storage работа с изображениями

теперь проблема как показать сохраненное изображение

Не в сети

#21 21.08.2015 15:08:32

Cheshirrski
masterМастер
Откуда: Днепр
Сообщений: 116
Статей: 2

Re: Laravel: Storage работа с изображениями

А как ты пробуешь?

Не в сети

#22 21.08.2015 17:09:03

stuchin
Откуда: Волгоград
Сообщений: 68

Re: Laravel: Storage работа с изображениями

пока толком не пробовал

Не в сети

Подвал раздела