在 PHP 中,可以使用 GD 库压缩图片,减小图片文件的大小。以下是一些常见的压缩图片的示例代码: ```php $src_file = 'source.jpg'; // 原始图片文件名 $dst_file = 'destination.jpg'; // 压缩后的图片文件名 $quality = 80; // 压缩质量(0-100) // 获取原始图片的信息 $src_info = getimagesize($src_file); $src_mime = $src_info['mime']; // 读取原始图片 $src_image = null; switch ($src_mime) { case 'image/jpeg': $src_image = imagecreatefromjpeg($src_file); break; case 'image/png': $src_image = imagecreatefrompng($src_file); break; case 'image/gif': $src_image = imagecreatefromgif($src_file); break; default: die('Unsupported image type'); } // 压缩原始图片并保存为目标图片 switch ($src_mime) { case 'image/jpeg': imagejpeg($src_image, $dst_file, $quality); break; case 'image/png': imagepng($src_image, $dst_file, 9 - round($quality / 11)); break; case 'image/gif': imagegif($src_image, $dst_file); break; default: die('Unsupported image type'); } ``` // 释放内存 `imagedestroy($src_image);` 在上面的代码中,首先获取原始图片的信息。然后读取原始图片,压缩原始图片并保存为目标图片,最后释放内存。需要注意的是,压缩后的图片的 MIME 类型与原始图片的 MIME 类型相同。 在上面的代码中,压缩 JPEG 格式的图片使用 `imagejpeg()` 函数,压缩 PNG 格式的图片使用 `imagepng()` 函数,压缩 GIF 格式的图片使用 `imagegif()` 函数。其中,`imagepng()` 函数的第三个参数是压缩质量,取值范围为 0-9,值越小压缩率越高。