如果图像魔术命令在多行上,它们是否运行


Does the image magick commands run if they are on multiple lines?

我正在尝试运行一个图像魔术命令,该命令跨越两行以获得更好的可读性。它可以使用 PHP exec 方法运行正常吗?例如,请查看以下行:

exec("convert thumbnail.gif  autumn_leaves.png +swap 
        -gravity center -compose DstOver -composite 
        border_leaves.gif");

可能不是。 与其将新行实际放在字符串中,不如使用串联,使其看起来像多行,但最终字符串仍然是一行:

exec("convert thumbnail.gif  autumn_leaves.png +swap " .    
     "-gravity center -compose DstOver -composite " .
     "border_leaves.gif");

这就是我现在编写代码以提高可读性的方式:

$cmd = "thumbnail.gif autumn_leaves.png +swap ".
" -gravity center -compose DstOver -composite ";
exec("convert $cmd border_leaves.gif");

这还有一个额外的好处,即如果在代码中使用变量,则可以回显$cmd以查看实际命令是什么。

另一个想法是,如果你在块中编写代码,你可以在发现错误时注释掉块,以查看代码出错的地方。