我想用mogrify
(GraphicsMagicks)压缩JPG,我需要将结果存储在一个变量中。将shell输出保存到变量
$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
很明显不存在yet.That虽这么说,我怎么能修改命令让它把内容在变,而不是试图打开一个文件
Regards
你可以试着在后面加上'2>&1'到命令结束标准错误转换到标准输出和回声出'compressed_jpg_content'看到d的错误ebugging。尝试'$ compressed_jpg_content = shell_exec(“gm mogrify -quality 85 - <.escapeshellarg($ image_path)。”$ filename.jpg 2> &1"); echo $ compressed_jpg_content;' –
@AllenButler检查编辑 – user2650277