首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jpegoptim PHP shell_exec不压缩图像

jpegoptim PHP shell_exec不压缩图像
EN

Stack Overflow用户
提问于 2014-11-15 04:21:09
回答 1查看 2.9K关注 0票数 1

我运行的是Linux Centos 6.5,并且已经安装了jpegoptim。

为了确认这一点,我运行yum install jpegoptim并获得以下内容:

包jpegoptim-1.4.4-1.e16.x86_64已安装,最新版本未执行任何操作

当我运行下面的代码时,没有压缩发生,但是图像被保存到正确的路径,并且我没有得到任何错误。

代码语言:javascript
复制
function compress_jpg($path_to_jpg_file, $max_quality = 90)
{
if(!file_exists($path_to_jpg_file)){throw new Exception("File does not exist: $path_to_jpg_file");}


$min_quality = 60;
$compressed_jpg_content = shell_exec("jpegoptim --quality=$min_quality-$max_quality - < ".escapeshellarg($path_to_jpg_file));

if(!$compressed_jpg_content){throw new Exception("Conversion to compressed JPG failed. Is jpegoptim installed on the server?");}
return $compressed_jpg_content;
}

$read_from_path = "image-old/cleveland-corner.jpg";
$save_to_path = "image-new/compressed-cleveland-corner.jpg";

$compressed_jpg_content = compress_jpg($read_from_path);
file_put_contents($save_to_path, $compressed_jpg_content);

当我运行以下命令时,我得到了一个没有任何内容的图像文件,保存到了正确的路径,并且没有得到任何错误。

代码语言:javascript
复制
function compress_jpg($path_to_jpg_file)
{
$command = 'jpegoptim '.$path_to_jpg_file;
shell_exec($command);

return $compressed_jpg_content;
}

$read_from_path = "image-old/cleveland-corner.jpg";
$save_to_path = "image-new/compressed-cleveland-corner.jpg";

$compressed_jpg_content = compress_jpg($read_from_path);
file_put_contents($save_to_path, $compressed_jpg_content);

有没有人幸运地使用PHP中的shell_exec调用并压缩了jpegoptim?

EN

回答 1

Stack Overflow用户

发布于 2014-11-15 05:49:23

好吧,我找到了我自己问题的答案:

我更改了第一个函数示例中的这一行

代码语言:javascript
复制
$compressed_jpg_content = shell_exec("jpegoptim --quality=$min_quality-$max_quality - < ".escapeshellarg($path_to_jpg_file));

设置为以下内容:

代码语言:javascript
复制
$compressed_jpg_content = shell_exec("jpegoptim --max=75 --strip-all --all-progressive - < ".escapeshellarg($path_to_jpg_file));

它真正归结为了解jpegoptim选项以及如何引用它们。将样本图像从54,318字节压缩到27,999字节。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26938197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档