ab01faz101/laravel-image-resizer
最新稳定版本:v1.2.9
Composer 安装命令:
composer require ab01faz101/laravel-image-resizer
包简介
Resize image to multiple sizes in Laravel
README 文档
README
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, andwebp. - 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
-
Require the package via Composer (assuming it’s published on Packagist):
composer require ab01faz101/laravel-image-resizer
-
(Optional) Publish the config file:
php artisan vendor:publish --tag=laravel_image_resizer_config
-
Configure
config/laravel_image_resizer.phpas 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
其他信息
- 授权协议: MIT
- 更新时间: 2025-05-27