sadovojav/yii2-image-thumbnail 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

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

sadovojav/yii2-image-thumbnail

最新稳定版本:v3.1

Composer 安装命令:

composer require sadovojav/yii2-image-thumbnail

包简介

Yii2 image thumbnail component

README 文档

README

Create image thumbnails use Imagine. Thumbnail created and cached automatically. It allows you to create placeholder with service https://placeholder.com/, holder.js or Imagine

Features:

  • Easy to use
  • Use Imagine
  • TinyPng compression
  • Automaticly thumbnails caching
  • Cache sorting to subdirectories
  • Caching placeholder from URL (placeholdit.imgix.net)
  • Use placeholdit.imgix.net

Installation

Composer

The preferred way to install this extension is through Composer.

Either run php composer.phar require sadovojav/yii2-image-thumbnail "dev-master"

or add "sadovojav/yii2-image-thumbnail": "dev-master" to the require section of your composer.json

Config

Attach the component in your config file:

'components' => [ 'thumbnail' => [ 'class' => 'sadovojav\image\Thumbnail', ], ],

Parameters

  • string basePath = null - Base path
  • string prefixPath = null - Prefix path
  • string cachePath = @runtime/thumbnails - Cache path alias
  • integer cacheExpire = 604800 - Cache expire time
  • array options - Other options (placeholder/quality/additional compression)

Default options:

'options' => [ 'placeholder' => [ 'type' => sadovojav\image\Thumbnail::PLACEHOLDER_TYPE_URL, 'backgroundColor' => '#f5f5f5', 'textColor' => '#cdcdcd', 'textSize' => 30, 'text' => 'No image' ], 'quality' => 92, 'format' => null, //webp, jpg, png 'tinyPng' => [ 'apiKey' => null ] ]

Note

textSize - does't support on PLACEHOLDER_TYPE_URL

Placeholder type

    1. sadovojav\image\Thumbnail::PLACEHOLDER_TYPE_URL - get placeholder by url
    1. sadovojav\image\Thumbnail::PLACEHOLDER_TYPE_IMAGINE - create placeholder used Imagine

Using

Get cache image

echo Yii::$app->thumbnail->img($file, $params, $options);

This method returns Html::img()

Parameters

  • string $file required - Image file path
  • array $params required - Image manipulation methods. See Methods
  • array $options - options for Html::img()

For example:

<?= Yii::$app->thumbnail->img(IMAGE_SRC, [ 'thumbnail' => [ 'width' => 320, 'height' => 230, ], 'placeholder' => [ 'width' => 320, 'height' => 230 ] ]); ?>

Get cache image url

echo Yii::$app->thumbnail->url($file, $params);

This method returns cache image url

Parameters

  • string $file required - Image file path
  • array $params - Image manipulation methods. See Methods

For example:

<?= Yii::$app->thumbnail->url(IMAGE_SRC, [ 'thumbnail' => [ 'width' => 320, 'height' => 230, ], 'placeholder' => [ 'width' => 320, 'height' => 230 ] ]); ?>

Get placeholder image

echo Yii::$app->thumbnail->img($file, $params, $options);

This method returns Html::img()

Parameters

  • string $file required - must to be Null
  • array $params required - Image manipulation methods. See Methods
  • array $options - options for Html::img()

For example:

<?= Yii::$app->thumbnail->img(null, [ 'placeholder' => [ 'width' => 320, 'height' => 230 ] ]); ?>

Get placeholder url

echo Yii::$app->thumbnail->url($file, $params, $options);

This method returns path to placeholder image

Parameters

  • string $file required - must to be Null
  • array $params required - Image manipulation methods. See Methods
  • array $options - options for Html::img()

For example:

<?= Yii::$app->thumbnail->url(null, [ 'placeholder' => [ 'width' => 320, 'height' => 230 ] ]); ?>

Method

Resize

'resize' => [ 'width' => 320, 'height' => 200 ]

Parameters

  • integer width required - New width
  • integer height required - New height

Crop

'crop' => [ 'width' => 250, 'height' => 200, ]

Parameters

  • integer width required - New width
  • integer height required - New height
  • integer x = 0 - X start crop position
  • integer y = 0 - Y start crop position

Thumbnail

'thumbnail' => [ 'width' => 450, 'height' => 250, ]

Parameters

  • integer width required - New width
  • integer height required - New height
  • string mode = THUMBNAIL_OUTBOUND - Thumbnail mode THUMBNAIL_OUTBOUND or THUMBNAIL_INSET

Placeholder

'placeholder' => [ 'width' => 450, 'height' => 250, ]

This method return image placeholder if image file doesn't exist.

Parameters

  • integer width required - Placeholder image width
  • integer height required - Placeholder image height
  • string backgroundColor = #f5f5f5 - Background color
  • string textColor = #cdcdcd - Text color
  • string text = No image - Text

Watermark

'watermark' => [ 'image' => IMAGE_SRC 'posX' => 0, 'posY' => 0, 'width' => 50, 'height' => 50 ]

Parameters

  • string image required - watermark path
  • integer posX required - X/-X watermark position
  • integer posY required - Y/-Y watermark position
  • integer width - Watermark width
  • integer height - Watermark height
  • string mode = THUMBNAIL_OUTBOUND - Thumbnail mode THUMBNAIL_OUTBOUND or THUMBNAIL_INSET

Compression (TinyPng)

'compress' => true

统计信息

  • 总下载量: 40.26k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 22
  • 点击次数: 4
  • 依赖项目数: 3
  • 推荐数: 0

GitHub 信息

  • Stars: 21
  • Watchers: 6
  • Forks: 12
  • 开发语言: PHP

其他信息

  • 授权协议: Unknown
  • 更新时间: 2026-01-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固