解决imagick不能读取远程URL

来源:互联网 发布:淘宝上自动收货时间 编辑:程序博客网 时间:2024/06/05 19:22
在用php的imagick在访问远程URL图片的时候会出现Failed to read the file问题,这是因为imagick读取不了远程url导致的。翻了翻imagick手册,发现了一个Imagick::readImageBlob,从字面上的意思来看,就是读取图片的二进制代码,看到这里就有思路了。imagick不能读取远程图片,但是php可以啊。file_get_contents返回的正好是二进制代码。那么可以这样子实现:
<?php    $url = 'https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png';    $image = new Imagick();    $image->readImageBlob(file_get_contents($url));    header('Content-type: '.$image->getImageFormat());    echo $image->getImageBlob();    $image->destroy();?>

这样子就把远程图片输出来了。

原创粉丝点击