使用 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:-");
我正在尝试将 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:-");