Imagineを使用して、90k 以上の比較的小さなモバイル画像の 250x250 サムネイルをバッチ作成しようとしています。問題は、ループを実行すると、
foreach ($images as $c) {
$imagine = new Imagine();
$image = $imagine->open($c);
$image->resize(new Box(250, 250))->save($outFolder);
}
場合によっては、画像が破損してopen()
メソッドが失敗し、例外がスローされます。
Unable to open image
vendor/imagine/imagine/lib/Imagine/Gd/Imagine.php
Line: 96
ループを完全に破ります。open
失敗したかどうかを確認する方法はありますか?何かのようなもの:
foreach ($images as $c) {
$imagine = new Imagine();
$image = $imagine->open($c);
if ($image) {
$image->resize(new Box(250, 250))->save($outFolder);
} else {
echo 'corrupted: <br />';
}
}
誰かが助けてくれることを願っています。または、それが不可能な場合は、実用的にバッチでサイズ変更できる PHP 画像ライブラリを提案できますか?
ありがとうございました