概要
PHPの定番ライブラリGD
GDという定番ライブラリがあるようなのでそれを使用する
DockerファイルでのGDインストール
参考
結論
PNG, JPEG, WebPであれば、以下をDockerでビルドすればOK
RUN apt-get update && \
apt-get install -y zlib1g-dev libpng-dev libjpeg62-turbo-dev libwebp-dev && \
docker-php-ext-configure gd --with-jpeg --with-webp && \
docker-php-ext-install -j$(nproc) gd
確認方法
上記Dockerfileをビルドし、PHP用コンテナに入り、tinker起動
php artisan tinker
tinkerでgd_info();
を実行
gd_info(); => [ "GD Version" => "bundled (2.1.0 compatible)", "FreeType Support" => false, "GIF Read Support" => true, "GIF Create Support" => true, "JPEG Support" => true, "PNG Support" => true, "WBMP Support" => true, "XPM Support" => false, "XBM Support" => true, "WebP Support" => true, "BMP Support" => true, "AVIF Support" => false, "TGA Read Support" => true, "JIS-mapped Japanese Font Support" => false, ]
うまくいってそう。 ちなみに、Laravelで使う場合、たとえば以下のようなことができる。
use Illuminate\Http\UploadedFile;
UploadedFile::fake()->image('aaa.jpg');
これによってファイル作成してくれる模様(メモリ上で作成するだけ?)
テストコード
テストコードもこれを使って記載したい(実際のテストコードは別の内容で)