vadymsemeniuk/yii2-file-processor-module

文件上传和存储扩展

安装次数: 15,890

依赖项: 0

建议者: 0

安全性: 0

星标: 3

关注者: 1

分支: 13

类型:yii2-extension

1.0.2 2017-02-14 15:26 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:47:28 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 是缩略图文件夹的路径,并设置来自创建文件的用户的 cron 作业,例如 www-data(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' 是必需的。如果水印大小大于原始图像,则它将不会粘贴到原始图像中。为了修复这个问题,模块将创建一个与原始图像大小相同的水印缩略图以适应它。