概要
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');
これによってファイル作成してくれる模様(メモリ上で作成するだけ?)
テストコード
テストコードもこれを使って記載したい(実際のテストコードは別の内容で)