syablonskiy / yii2-attachfile
使用ajax附加文件的包
1.0.1
2018-09-09 12:18 UTC
Requires
- yiisoft/yii2: ~2.0.0
This package is not auto-updated.
Last update: 2024-09-24 17:24:45 UTC
README
该模块旨在将文件附加到ActiveRecord模型。
安装
-
使用Composer安装扩展,请在终端中执行
composer require syablonskiy/yii2-attachfile "^1"
或者在 composer.json 文件的 require 部分添加"syablonskiy/yii2-attachfile": "^1"
-
将模块添加到您的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' ], ... ]
-
执行迁移
php yii migrate --migrationPath=@syablonskiy/attachfile/migrations
-
将行为附加到您的ActiveRecord模型
public function behaviors() { return [ \syablonskiy\attachfile\behaviors\AttachmentBehavior::className() ]; }
- 删除不相关的文件 在控制台应用程序的配置中添加
'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
从此之后,每隔半小时将删除已上传但未附加到模型的文件。
使用方法
- 要将文件附加到创建的模型,请在视图中传递当前 [[yii\widgets\ActiveForm]] 实例
<?= \syablonskiy\attachfile\widgets\InputWidget::widget(['form' => $form]) ?>
- 显示模型附加的文件
$model
<?= \syablonskiy\attachfile\widgets\FilesListWidget::widget( [ 'model' => $model, 'allowDeletion' => true //default 'false' ] ) ?>
选项 'allowDeletion' 添加了标记文件以进行删除的功能