想象一下readImageBlob()没有打开看起来很好的图像

时间:2018-01-30 21:24:09

标签: php gd imagick php-7.1 php-gd

我正在处理来自外部服务器的大量图像(在PHP 7.1中),并且大多数都在工作,但其中一些不是。我单独打开这些图像,并在浏览器和Photoshop中打开。这几张图片不会通过Imagick的readImageBlob()方法。快速代码:

$img = new Imagick();
if( $image = file_get_contents('http://my.url/image.jpg') !== false ){
    try{
        $img->readImageBlob( $image );
    } catch (Exception $e) {
        error_log('failed to open image');
    }
}

file_get_contents()在工作图像和错误图像中都返回true。

没有try / catch,这就是PHP抛出的错误:

  

Uncaught ImagickException:此图像格式没有解码委托`'@ error / blob.c / BlobToImage / 361

另外,当我使用GD库作为后备方法时,会处理图像。

0 个答案:

没有答案