PHP escapeshellcmd()使用'&燃气轮机';性格

PHP escapeshellcmd()使用'&燃气轮机';性格,php,escaping,imagemagick,exec,imagemagick-convert,Php,Escaping,Imagemagick,Exec,Imagemagick Convert,我在Ubuntu 12服务器上使用ImageMagick 6.6.9。我遇到的问题是,我使用shell\u exec函数(但也尝试了exec)在PHP中运行的ImageMagick convert命令中包含PHPescapeshellcmd函数用\转义的字符 以下是我的PHP代码: $result = exec(escapeshellcmd($convertString)); 下面是我的convert命令示例: /usr/bin/convert”/Users/rich/Sites/exampl

我在Ubuntu 12服务器上使用ImageMagick 6.6.9。我遇到的问题是,我使用
shell\u exec
函数(但也尝试了
exec
)在PHP中运行的ImageMagick convert命令中包含PHP
escapeshellcmd
函数用
\
转义的字符

以下是我的PHP代码:

$result = exec(escapeshellcmd($convertString));
下面是我的convert命令示例:

/usr/bin/convert”/Users/rich/Sites/example/1234.JPG“-quality 85-自动定向-缩略图“640x88>”/Users/rich/Sites/example/1234 thumb.JPG“

最后是通过
escapeshellcmd
运行convert命令后的convert命令:

/usr/bin/convert”/Users/rich/Sites/example/1234.JPG“-quality 85-自动定向-缩略图“640x8\>”/Users/rich/Sites/example/1234 thumb.JPG“

问题是转义的
\>
字符会导致ImageMagick错误:

convert:选项-缩略图的参数无效:640x88>@error/convert.c/ConvertImageCommand/2770

有人知道我能绕过这件事的方法吗?我浏览了ImageMagick文档,虽然他们承认了这个问题,但他们似乎没有提供任何其他方法来调整图像大小,而不使用特殊的unix字符:

唯一的收缩标志(“>”标志)是UNIX Shell和windows批处理脚本中的一个特殊字符,您需要转义该字符(在Shell中使用反斜杠“>”,在windows批处理中使用“^>”。它在HTML和HTML网页中也很特殊,因此PHP脚本也可能需要一些特殊处理


非常感谢。

事实证明,我在
-缩略图“640x8\>”
大小选项周围有额外的
(引号)。作为参考,正确的转义转换命令应该是:

/usr/bin/convert”/Users/rich/Sites/example/1234.JPG“-quality 85-自动定向-缩略图640x88\>”/Users/rich/Sites/example/1234 thumb.JPG“