Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

php 图片压缩

作者:_o隨缘   发布日期:2025-06-07   浏览:74

<?php
// 图片压缩示例代码

function compressImage($source, $destination, $quality) {
    // 获取图片信息
    $info = getimagesize($source);
    if ($info === false) {
        return false;
    }

    // 根据图片类型创建相应的图像资源
    $image = null;
    switch ($info['mime']) {
        case 'image/jpeg':
            $image = imagecreatefromjpeg($source);
            break;
        case 'image/png':
            $image = imagecreatefrompng($source);
            break;
        case 'image/gif':
            $image = imagecreatefromgif($source);
            break;
        default:
            return false;
    }

    // 压缩并保存图片
    if ($image !== null) {
        imagejpeg($image, $destination, $quality); // 仅支持JPEG格式输出,可根据需要调整
        imagedestroy($image);
        return true;
    }

    return false;
}

// 示例用法
$source_image = 'path/to/source/image.jpg';
$destination_image = 'path/to/destination/image.jpg';
$compression_quality = 80; // 质量范围:0(最差)到100(最佳)

if (compressImage($source_image, $destination_image, $compression_quality)) {
    echo "图片压缩成功";
} else {
    echo "图片压缩失败";
}
?>

解释说明:

  1. compressImage 函数:该函数接收三个参数:源图片路径、目标图片路径和压缩质量。
  2. 获取图片信息:使用 getimagesize 函数获取图片的 MIME 类型等信息。
  3. 创建图像资源:根据图片的 MIME 类型,使用相应的函数 (imagecreatefromjpeg, imagecreatefrompng, imagecreatefromgif) 创建图像资源。
  4. 压缩并保存图片:使用 imagejpeg 函数将图像保存为 JPEG 格式,并指定压缩质量。可以根据需要调整输出格式。
  5. 清理资源:使用 imagedestroy 函数释放图像资源。
  6. 示例用法:提供了如何调用 compressImage 函数的示例代码。

上一篇:php计算两个日期之间的天数

下一篇:php gd库

大家都在看

php session用法

phpisset函数

php后端

php爬虫框架

php读取csv文件

php 三元表达式

php文件加密

php 拆分字符串

php pcntl

php ||

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站