使用 mogrify 转换图像并将其输出到变量

Convert image with mogrify and output it to variable

我正在尝试将 bmp 转换为 jpg,然后 mogrify.The jpg 应该存储在一个变量中。

这是我目前的尝试

$jpg_content = shell_exec("gm mogrify -format jpg ". escapeshellarg($image) . " && cat " . escapeshellarg($image)."2>&1");

但是 $jpg_content 为空

编辑

假设$image/var/www/website.com/public_html/www/imgscript/tmp/0048699218

shell_exec("gm mogrify -format jpg ". escapeshellarg($image));
$jpg_content = file_get_contents($image.'.jpg');

mogify 完成后,它应该创建了 jpg,但事实并非如此 here.The tmp 目录是可写的,因此它不是权限问题。

您认为 && ... 应该做什么?

删除 " && cat 及其后面的所有内容。

你可以完全避免写入磁盘,方法是告诉 GraphicsMagick 在其 stdout 上写入 JPEG 并将其提取到 PHP 变量中,如下所示:

$content=shell_exec("gm convert image.bmp jpg:-");