0

以下对 png 文件非常有效,但对于 jpeg/jpg 压缩不起作用。

function compressImage($source, $destination, $quality) {
    $info = getimagesize($source);
    if ($info['mime'] == 'image/jpeg') $image = imagecreatefromjpeg($source);
    elseif ($info['mime'] == 'image/png') $image = imagecreatefrompng($source);
    imagejpeg($image, $destination, $quality);
    return $destination;
}

我如何让它压缩jpeg?

4

2 回答 2

0

为了使用 GD 处理 JPEG 文件,您的 PHP 版本需要使用内置的 libjpeg 支持进行编译。您可以在phpinfo. 寻找以下两个:

  • 已启用 JPEG 支持
  • libJPEG 版本 6b (或不同)

如果您没有这些,请询问您的主机。

可能由此产生的另一个问题是您的 jpeg 图像的 mime 类型可能会出现未知。仔细检查库版本 - 如果存在,请回复评论,我会看看我是否可以通过库内省以外的方式在您的代码中找到问题。

于 2013-04-02T18:12:25.673 回答
0

问题出在 PHP 上。

做:

百胜安装 gd gd-devel

于 2013-04-02T20:34:05.073 回答