我正在尝试使用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 图像库吗?
谢谢