承接 ab01faz101/laravel-image-resizer 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

ab01faz101/laravel-image-resizer

最新稳定版本:v1.2.9

Composer 安装命令:

composer require ab01faz101/laravel-image-resizer

包简介

Resize image to multiple sizes in Laravel

README 文档

README

Packagist Version Downloads License

A simple and flexible Laravel package for resizing and encoding images into multiple sizes and formats, powered by Intervention Image.

✨ Features

  • Resize images into multiple predefined sizes (XL, MD, SM, XS) or custom sizes.
  • Supports image encoding formats: jpeg, jpg, png, and webp.
  • Saves resized images to specified storage disk and directory.
  • Option to override encoder format dynamically.
  • Uses Laravel's filesystem and Intervention Image package under the hood.

🚀 Installation

  1. Require the package via Composer (assuming it’s published on Packagist):

    composer require ab01faz101/laravel-image-resizer
  2. (Optional) Publish the config file:

    php artisan vendor:publish --tag=laravel_image_resizer_config
  3. Configure config/laravel_image_resizer.php as needed (see Configuration section).

⚙️ Configuration

The package configuration file contains:

return [
    'sizes' => [
        'lg' => [1200, 800],
        'md' => [600, 400],
        'sm' => [150, 150],
    ],
    'config' => [
        'encoder_status' => true,
        'encoder' => 'webp', // supported values: 'webp', 'png', 'jpeg', 'jpg'
    ],
];
  • sizes: Default sizes for resizing.
  • encoder_status: Enable or disable image encoding.
  • encoder: Default encoder format for output images.

📚 Usage

Include the LaravelImageResizer trait in your Laravel class:

use Ab01faz101\LaravelImageResizer\Traits\LaravelImageResizer;

class YourClass
{
    use LaravelImageResizer;

    // Your methods
}

🖼️ Basic resize and save

use Illuminate\Http\Request;

public function uploadImage(Request $request)
{
    $image = $request->file('image');

    $paths = $this->resizeAndSave(
        $image,
        'uploads/images', // target directory
        'public',         // storage disk
        'webp'            // optional encoder override
    );

    // $paths will be an array with keys: xl, md, sm, xs containing saved paths.
}

🔧 Resize with custom sizes

$sizes = [
    'large' => [1200, 800],
    'medium' => [600, 400],
    'small' => [300, 200],
];

$paths = $this->resizeWithCustomSizes(
    $image,
    $sizes,
    'uploads/custom',
    'public',
    'png'
);

📋 Methods

Method

Description

Parameters

Returns

resizeAndSave

Resize the uploaded image into default sizes and save

UploadedFile $image, string $directory, string $disk, ?string $overrideEncoder

Array of saved file paths

resizeWithCustomSizes

Resize the image to custom sizes and save

UploadedFile $image, array $sizes, string $directory, string $disk, ?string $overrideEncoder

Array of saved file paths

🛠️ Requirements

  • PHP 8.2 or higher
  • Laravel 10 or higher
  • Intervention Image package (intervention/image)

📄 License

MIT License

👨‍💻 Author

Abolfazl Qaederahmat

⭐ If you find this package useful, please star the repository on GitHub

© 2025 Abolfazl Qaederahmat

统计信息

  • 总下载量: 34
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 0
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-05-27