Imagemagick转换命令在与PHP一起使用时返回错误代码4

时间:2018-05-29 11:09:19

标签: php windows imagemagick wamp

我正在使用PHP exec函数执行ImageMagick命令,它返回error code 4 probably表示The system cannot open the file但是当我在Windows终端中运行相同的命令时它工作正常。我使用下面的命令调整图像大小:

在终端(工作正常)

convert -resize 150^% ad.png res_ad.png

在PHP中(返回错误代码4)

exec(escapeshellcmd("convert -resize 150% $file_name.png res_$file_name.png"), $output2, $return2)

PS:我已经检查过,图像的路径是正确的。

1 个答案:

答案 0 :(得分:0)

我只使用php从Imagemagick返回1或0,所以我不知道4是来自。

我使用了类似的代码但是从未在exec中使用过escapeshellcmd。 exec正在调用外部程序,我不确定你可以在那里使用它。

尝试(在大多数情况下注意转换后的输入图像):

exec("convert $file_name.png -resize 150% res_$file_name.png");

您可以在将输入和输出图像文件名发送到exec()

之前验证它们

不同的错误报告:

$array=array();
echo "<pre>";
exec("convert $file_name.png -resize 150% res_$file_name.png 2>&1", $array); 
echo "<br>".print_r($array)."<br>"; 
echo "</pre>";