首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在PHP中使用Imagemagick命令中的远程文件

如何在PHP中使用Imagemagick命令中的远程文件
EN

Stack Overflow用户
提问于 2018-07-28 05:01:50
回答 1查看 332关注 0票数 1

我目前正在共享托管网站上使用Imagemagick。Imagemagick也安装在这个网站上。它的versionString是ImageMagick 6.8.9-9 Q16 x86_64 2018-06-26,versionNumber是1673

现在我的问题是:我想要将REMOTE FILE转换为png图像,以便以后使用。为了实现这一点,我目前正在使用这个PHP脚本:

代码语言:javascript
复制
<?php
   exec( "/usr/bin/convert convert https://www.google.com/favicon.ico favicon.png" );
?>

但此命令不会在同一文件夹中创建文件favicon.png。但是,如果我下载favicon.ico文件并将其存储在服务器上,我可以使用以下命令,它可以完美地工作:

代码语言:javascript
复制
<?php
   exec( "/usr/bin/convert convert favicon.ico favicon.png" );
?>

那么,我如何在imagemagick中使用convert命令来使用远程文件,而不将文件存储在服务器上?我还尝试使用$Imagick->getImageBlob(); -> https://secure.php.net/manual/de/imagick.getimageblob.php创建一个新的图像对象,并将输出插入到exec();命令中,如下所示

代码语言:javascript
复制
<?php
exec( "/usr/bin/convert convert " . $Imagick->getImageBlob() . "favicon.png" );
?> 

在PHP中。但它只显示了该命令可能是一次攻击的错误。

我希望你能帮助我解决这个问题,并提前感谢!

PS: I can not edit anything in the Imagemagick settings or update the class/package either.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-28 06:19:48

代码语言:javascript
复制
wget -O- https://www.google.com/favicon.ico | convert  ico:- favicon.jpg

说明:您应该下载带有"wget“的文件,并将其输出到标准输出中,然后通过管道将其转换为"convert”。"ico:-“-这意味着输入文件类型为"image/ico”,并从stdin中获取它。

或者直接使用:

代码语言:javascript
复制
 $imagick = new Imagick();
 $imagick->readImageBlob("https://www.google.com/favicon.ico");
 $image->writeImage('favicon.png');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51565506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档