r-gonchar / yii2-file-processor-module
文件上传和存储扩展
1.0.3
2024-02-23 13:13 UTC
Requires
- imagine/imagine: ^1.3.5
- yiisoft/yii2: *
This package is not auto-updated.
Last update: 2024-09-21 14:12:27 UTC
README
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'。如果水印大小大于原始图像,则不会将其粘贴到原始图像中。为了修复此问题,模块将创建与原始图像大小相匹配的水印缩略图以适应它。