r-gonchar/yii2-file-processor-module

文件上传和存储扩展

安装: 1

依赖者: 0

建议者: 0

安全性: 0

星标: 0

关注者: 0

分支: 13

类型:yii2-extension

1.0.3 2024-02-23 13:13 UTC

This package is not auto-updated.

Last update: 2024-09-21 14:12:27 UTC


README

Total Downloads Latest Stable Version Dependency Status

Yii2 文件处理器模块

文件上传和存储扩展

安装

安装此扩展的首选方式是通过composer

运行以下命令之一:

php composer.phar require --prefer-dist vadymsemeniuk/yii2-file-processor-module "*"

"vadymsemeniuk/yii2-file-processor-module": "*"

将以下内容添加到您的 composer.json 文件的 require 部分中。

使用方法

扩展安装后,只需在代码中通过

./yii migrate --migrationPath=@vendor/metalguardian/yii2-file-processor-module/src/migrations

UploadBehavior

将此添加到模型的 behaviors 中

'upload_image_id' => [
                'class' => \metalguardian\fileProcessor\behaviors\UploadBehavior::className(),
                'attribute' => 'image_id',
                'required' => false,
                'image' => true,

DeleteBehavior

将此添加到模型的 behaviors 中

针对单个属性

'delete_image_id' => [
                'class' => \backend\components\DeleteBehavior::className(),
                'attribute' => 'image_id',
            ],

针对属性数组

'delete_media_files' => [
                'class' => \backend\components\DeleteBehavior::className(),
                'attribute' => ['image_id', 'video_id'],
            ],

UploadDeleteBehavior

将此添加到模型的 behaviors 中

'upload_delete_image_id' => [
                'class' => \metalguardian\fileProcessor\behaviors\UploadDeleteBehavior::className(),
                'attribute' => 'image_id',
                'required' => false,
                'image' => true,

PNG 压缩

要启用对 png 图像的压缩,请安装https://pngquant.org。然后,将以下代码添加到控制台控制器动作中 ImageCompressor::compressPngThumbs($path);,其中 $path 是缩略图文件夹的路径,并设置一个由创建文件的用户(例如 www-data)创建的 cron 任务(crontab -u www-data -e)。

向缩略图添加水印

要在创建 FPM::ACTION_ADAPTIVE_THUMBNAIL、FPM::ACTION_THUMBNAIL 或 FPM::ACTION_CANVAS_THUMBNAIL 时添加水印,配置必须如下所示

'sliderThumb' => [
                        'action' => FPM::ACTION_THUMBNAIL,
                        'width' => 330,
                        'height' => 330,
                        'watermark' => [
                            'fileName' => $wmarkPath,
                            'point' => [
                                'x' => 0,
                                'y' => 0,
                            ],
                            'size' => [
                                'width' => 330,
                                'height' => 330,
                            ]
                        ],
                    ],

其中 'point'(放置水印的原始图像上的点坐标)和 'size'(水印缩略图的大小,如果大于原始图像)是可选的,只要求 'fileName'。如果水印大小大于原始图像,则不会将其粘贴到原始图像中。为了修复此问题,模块将创建与原始图像大小相匹配的水印缩略图以适应它。