/
spatie media library 로 laravel 에서 multi media 처리하기

spatie media library 로 laravel 에서 multi media 처리하기

laravel-media-library 패키지는 라라벨에서 다양한 media(이미지, 동영상, 기타 file)등을 손쉽게 관리하기 위한 라이브러리입니다.

설치

media library 에서 이미지를 처리하려면 사전에 gd library 나 /wiki/spaces/laravelphp/pages/892666577을 설치해야 합니다.



composer require "spatie/laravel-medialibrary:^7.0.0"


벤더 퍼블리싱

php artisan vendor:publish --provider="Spatie\MediaLibrary\MediaLibraryServiceProvider" --tag="migrations"
php artisan migrate


config 퍼블리싱

php artisan vendor:publish --provider="Spatie\MediaLibrary\MediaLibraryServiceProvider" --tag="config"

Image 최적화

media library 는 외부 프로그램을 이용해서 등록된 라이브러리를 최적화할 수 있습니다.

jpegoptim 설치

Amazon Linux 는 libjpeg 8 이 없어서 실행 에러나니 static 버전 받는걸 권장합니다.


미리 컴파일한 바이너리 설치

jpegoptim 설치
curl -L -O https://github.com/lesstif/jpegoptim/releases/download/1.4.6-bin/jpegoptim-1.4.6-bin-static.gz
gzip -d jpegoptim-1.4.6-bin-static.gz
chmod +x jpegoptim-1.4.6-bin-static
sudo mv jpegoptim-1.4.6-bin-static /usr/bin/jpegoptim


PNG 최적화 유틸리티인 optipng 설치

ubuntu
sudo apt install optipng -y
CentOS/Amazon Linux
sudo yum install optipng -y


pngquant 설치

ubuntu
sudo apt install pngquant -y


CentOS 와 Amazon Linux 는 yum 으로 제공되지 않으므로 미리 컴파일된 바이너리를 받거나(추천) 직접 컴파일해야 함

pre compiled 바이너리 설치
curl -L -O https://github.com/lesstif/pngquant/releases/download/2.12.3-bin/pngquant-2.12.3.gz
gzip -d pngquant*.gz
chmod +x pngquant*
sudo mv pngquant* /usr/local/bin/pngquant
 pngquant Source 에서 빌드...


SVG 최적화 유틸리티 svgo 설치

npm install -g svgo


GIF 처리기 gifsicle 설치

sudo apt install gifsicle -y


Conversion


media 재생성


conversion 변경시 재생성

$ php artisan medialibrary:regenerate


특정 모델 관련 media 만 재생성할 경우 모델명 지정

$ php artisan medialibrary:regenerate "App\Post"


특정 conversion 만 재생성할 경우 --only 옵션 사용

$ php artisan medialibrary:regenerate --only=thumb --only=foo

Related content

spatie tags library 로 laravel app 에 tag 붙이기
spatie tags library 로 laravel app 에 tag 붙이기
More like this
PHPStan 의 laravel 용 wrapper 인 larastan 사용하기
PHPStan 의 laravel 용 wrapper 인 larastan 사용하기
More like this
laravel dump() 로 호출하는 정보를 콘솔로 출력하는 dump-server 패키지
laravel dump() 로 호출하는 정보를 콘솔로 출력하는 dump-server 패키지
More like this
ffmpeg - stream audio/video encoder/conveter
ffmpeg - stream audio/video encoder/conveter
More like this
아파치 티카(apache tika) 로 컨텐츠 파싱하기
아파치 티카(apache tika) 로 컨텐츠 파싱하기
More like this
PhpStorm 으로 라라벨 개발 하기
PhpStorm 으로 라라벨 개발 하기
More like this