PHP escapeshellcmd()使用'&燃气轮机';性格
我在Ubuntu 12服务器上使用ImageMagick 6.6.9。我遇到的问题是,我使用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
shell\u exec
函数(但也尝试了exec
)在PHP中运行的ImageMagick convert命令中包含PHPescapeshellcmd
函数用\
转义的字符
以下是我的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“