tigrov / yii2-photo-widget
Yii2的照片上传小部件
1.1.0
2019-08-01 07:04 UTC
Requires
- ext-json: *
- ext-mbstring: *
- bower-asset/cropper: ~4.0
- yiisoft/yii2: ~2.0.0
- yiisoft/yii2-imagine: ~2.2.0
Suggests
- tigrov/yii2-upload-behavior: File upload behavior for Yii2 ActiveRecord models.
This package is auto-updated.
Last update: 2024-08-29 05:43:11 UTC
README
为Yii2创建照片上传小部件。
安装
建议通过 composer 安装此扩展。
运行以下命令
php composer.phar require --prefer-dist tigrov/yii2-photo-widget
或者将以下内容添加到您的 composer.json
文件的 require 部分。
"tigrov/yii2-photo-widget": "~1.0"
使用方法
最好与 yii2-upload-behavior 一起使用扩展。
扩展安装后,您可以按照以下方式使用它
创建一个具有照片属性的模型
class Model extends \yii\db\ActiveRecord { /** * @inheritdoc */ public function behaviors() { return [ 'upload' => [ 'class' => '\tigrov\uploadBehavior\UploadBehavior', 'path' => '@runtime/upload', 'attributes' => ['photo'], // 'saveCallback' => ['\tigrov\photoWidget\PhotoWidgetHelper', 'crop'], // or if you need to crop and resize 'saveCallback' => function ($model, $attribute, $file, $filename) { $width = 200; $height = 200; \tigrov\photoWidget\PhotoWidgetHelper::crop($model, $attribute, $file, $filename, $width, $height); } ], ]; } /** * @inheritdoc */ public function rules() { return [ [['photo'], 'file', 'skipOnEmpty' => false, 'extensions' => 'png,jpg,jpeg'], ]; } }
在控制器中创建一个动作
class FormController extends \yii\web\Controller { public function actionUpload() { $model = new Model(); if ($model->load(\Yii::$app->request->post()) && $model->save()) { \Yii::$app->session->setFlash('success', 'Model is saved.'); return $this->refresh(); } return $this->render('form', [ 'model' => $model, ]); } }
创建一个包含文件属性的表单
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, 'photo')->widget('\tigrov\photoWidget\PhotoWidget') ?>
<?= Html::submitButton('Submit') ?>
<?php $form::end(); ?>
提交照片后,它将被保存在指定的 路径
。