PHP GD压缩png但不压缩Jpeg

时间:2013-04-02 18:07:52

标签: php png jpeg gd image-compression

以下适用于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?

2 个答案:

答案 0 :(得分:0)

为了使用GD操作JPEG文件,需要使用内置的libjpeg支持编译PHP版本。您可以在phpinfo上查看。寻找以下两个:

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

如果您没有,请询​​问您的主人。

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

答案 1 :(得分:0)

问题出在PHP上。

执行:

yum install gd gd-devel