【发布时间】:2016-06-07 17:40:00
【问题描述】:
我正在尝试使用 mogrify (GraphicsMagicks) 压缩 jpg,我需要将结果存储在变量中。
$compressed_jpg_content = shell_exec("gm mogrify -quality 85 - < ".escapeshellarg($image_path)." $filename.jpg");
if (!$compressed_jpg_content) {
throw new Exception("Conversion to compressed JPG failed");
}
但是它不起作用,我得到Conversion to compressed JPG failed,我认为我的命令有问题
编辑
感谢艾伦·巴特勒
在这种情况下,$image_path 实际上是一个 POST 变量,$filename 是I4tWX0HI.jpg
错误:gm mogrify: Unable to open file (I4tWX0HI.jpg)
错误非常明显,因为I4tWX0HI.jpg 尚不存在。话虽如此,我如何修改命令以使其将内容放入变量中而不是尝试打开文件
问候
【问题讨论】:
-
您可以尝试将
2>&1附加到命令末尾以将标准错误转换为标准输出并回显compressed_jpg_content以查看该错误以进行调试。试试$compressed_jpg_content = shell_exec("gm mogrify -quality 85 - < .escapeshellarg($image_path)." $filename.jpg 2>&1"); echo $compressed_jpg_content; -
@AllenButler 检查编辑
标签: php shell shell-exec