syablonskiy/yii2-attachfile

使用ajax附加文件的包

安装: 15

依赖项: 0

建议者: 0

安全: 0

星标: 2

关注者: 1

分支: 0

开放问题: 0

类型:yii2-extension

1.0.1 2018-09-09 12:18 UTC

This package is not auto-updated.

Last update: 2024-09-24 17:24:45 UTC


README

该模块旨在将文件附加到ActiveRecord模型。

安装

  1. 使用Composer安装扩展,请在终端中执行 composer require syablonskiy/yii2-attachfile "^1" 或者在 composer.json 文件的 require 部分添加 "syablonskiy/yii2-attachfile": "^1"

  2. 将模块添加到您的web应用程序配置中

'modules' => [
        ...
        'attachfile' => [
            'class' => syablonskiy\attachfile\Module::className(),
            'storePath' => 'path/to/upload/folder', //default '@app/uploads'
            'rules' => [
                'extensions' => 'jpg, zip, mp4',
                'maxSize' => 1024*1024,
            ],
            'maxFiles' => 2, //default  '3'
            'tableName' => 'your_table_name', //default 'attachment'
        ],
        ...
]
  1. 执行迁移 php yii migrate --migrationPath=@syablonskiy/attachfile/migrations

  2. 将行为附加到您的ActiveRecord模型

    public function behaviors()
    {
        return [
           \syablonskiy\attachfile\behaviors\AttachmentBehavior::className()
        ];
    }
  1. 删除不相关的文件 在控制台应用程序的配置中添加
'modules' => [
        ...
        'attachfile' => [
            'class' => syablonskiy\attachfile\Module::className(),
            'controllerNamespace' => 'syablonskiy\attachfile\commands',
        ],
        ...
]

并添加以下Cron任务 */30 * * * * cd /path/to/your/app && /usr/bin/php yii attachfile/cron/delete-files >/dev/null 从此之后,每隔半小时将删除已上传但未附加到模型的文件。

使用方法

  1. 要将文件附加到创建的模型,请在视图中传递当前 [[yii\widgets\ActiveForm]] 实例
<?= \syablonskiy\attachfile\widgets\InputWidget::widget(['form' => $form]) ?>
  1. 显示模型附加的文件 $model
<?= \syablonskiy\attachfile\widgets\FilesListWidget::widget(
        [
            'model' => $model,
            'allowDeletion' => true //default 'false'
        ]
    ) ?>

选项 'allowDeletion' 添加了标记文件以进行删除的功能