imagejpeg 函数是您分配质量的位置。如果您已经将其设置为适当的值,那么您几乎无能为力。
页面速度可能认为所有超过一定大小的图像都是“需要压缩”的,也许只是确保它们都尽可能小(就高度/宽度而言)和压缩。
您可以在pagespeed文档上找到有关页面速度及其压缩建议的更多信息,http://code.google.com/speed/page-speed/docs/payload.html#CompressImages 它描述了一些适当压缩的技术/工具。
我也刚刚阅读了以下内容:
有几种工具可用于对JPEG和PNG文件执行进一步的无损压缩,而不会影响图像质量。对于 JPEG,我们建议使用 jpegtran 或 jpegoptim(仅在 Linux 上可用;使用 --strip-all 选项运行)。对于 PNG,我们建议使用 OptiPNG 或 PNGOUT。
因此,也许(如果你真的想坚持谷歌的建议),你可以使用PHP在上传文件时对它们运行其中一个工具。exec
要使用php压缩,您需要执行以下操作(听起来您已经在这样做了):
图像在哪里,保存在哪里,是一个介于1和100之间的数字,用于选择要使用的jpeg压缩量。$source_url
$destination_url
$quality
function compressImage($source_url, $destination_url, $quality) {
$info = getimagesize($source_url);
if ($info['mime'] == 'image/jpeg') $image = imagecreatefromjpeg($source_url);
elseif ($info['mime'] == 'image/gif') $image = imagecreatefromgif($source_url);
elseif ($info['mime'] == 'image/png') $image = imagecreatefrompng($source_url);
//save file
imagejpeg($image, $destination_url, $quality);
//return destination file
return $destination_url;
}