evneandreys/yii2-filemanager

用于 Yii2 的文件管理器。允许用户从任何位置管理文件,同时也可以在应用内浏览文件。

安装: 68

依赖: 0

建议者: 0

安全: 0

星星: 3

关注者: 1

分支: 0

开放问题: 0

类型:yii2-extension

1.0.3 2016-07-27 06:45 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:25:37 UTC


README

安装

使用 Composer 安装

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

运行以下命令

php composer.phar require evneandreys/yii2-filemanager

"evneandreys/yii2-filemanager": "dev-master"

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

在此处执行迁移

yii migrate --migrationPath=@vendor/evneandreys/yii2-filemanager/migrations
yii migrate/down --migrationPath=@vendor/evneandreys/yii2-filemanager/migrations

使用方法

扩展安装完成后,只需按照以下方式修改您的应用程序配置

配置 i18n 组件

'components' => [
    // ...
    'i18n' => [
	'translations' => [
	    '*' => [
		'class' => 'yii\i18n\PhpMessageSource',
	    ],
	],
    ],
    // ...
],

在本地上传文件

return [
	'modules' => [
            'gridview' => [
                'class' => '\kartik\grid\Module'
            ],
            'filemanager' => [
                'class' => 'evneandreys\filemanager\Module',
                'storage' => ['local'],
                // This configuration will be used in 'filemanager/files/upload'
                // To support dynamic multiple upload
                // Default multiple upload is true, max file to upload is 10
                // If multiple set to true and maxFileCount is not set, unlimited multiple upload
                'filesUpload' => [
                    'multiple' => true,
                    'maxFileCount' => 30
                ],
                // in mime type format
                'acceptedFilesType' => [
                    'image/jpeg',
                    'image/png',
                    'image/gif',
                ],
                // MB
                'maxFileSize' => 8,
                // [width, height], suggested thumbnail size is 120X120
                'thumbnailSize' => [120,120] 
            ]
        ]
];

上传文件到 AWS S3

return [
	'modules' => [
	    'gridview' => [
                'class' => '\kartik\grid\Module'
            ],
            'filemanager' => [ // do not change module to other name
                'class' => 'evneandreys\filemanager\Module',
                // This configuration will be used in 'filemanager/files/upload'
                // To support dynamic multiple upload
                // Default multiple upload is true, max file to upload is 10
                // If multiple set to true and maxFileCount is not set, unlimited multiple upload
                'filesUpload' => [
                    'multiple' => true,
                    'maxFileCount' => 30
                ],
                'storage' => [
                    's3' => [
                        'key' => 'your aws s3 key',
                        'secret' => 'your aws s3 secret',
                        'bucket' => '',
                        'region' => '',
                        'proxy' => '192.168.16.1:10'
                    ]
                ],
                // in mime type format
                'acceptedFilesType' => [
                    'image/jpeg',
                    'image/png',
                    'image/gif',
                ],
                // MB
                'maxFileSize' => 8,
                // [width, height], suggested thumbnail size is 120X120
                'thumbnailSize' => [120,120] 
            ]
        ]
];

然后您可以通过以下 URL 访问文件管理器

https:///path/to/index.php?r=filemanager/folders
https:///path/to/index.php?r=filemanager/files

为了使用文件管理器的浏览功能

    use yii\helpers\Html;
    use yii\widgets\ActiveForm;
    use evneandreys\filemanager\widgets\FileBrowse;

    // This is just an example to upload a banner
    $form = ActiveForm::begin();
    echo $form->field($model, 'banner_name');
    echo $form->field($model, 'banner_description');

    // if you would like to store file_identifier in your table
    echo $form->field($model, 'file_identifier')->widget(FileBrowse::className(), [
            'multiple' => false, // allow multiple upload
            'folderId' => 1 // set a folder to be uploaded to.
    ]);

    echo Html::submitButton('Submit', ['class' => 'btn btn-primary']);
    ActiveForm::end();

    // !important: modal must be rendered after form
    echo FileBrowse::renderModal();