hossein142001/yii2-my-image-validator

Yii2 扩展,用于图像验证器的比例和分辨率

dev-main 2022-12-31 06:47 UTC

This package is not auto-updated.

Last update: 2024-09-21 14:58:07 UTC


README

Yii2 扩展,帮助创建自动化控制台脚本。它有助于管理控制台脚本的执行,例如避免如果上一个 crontab 已在运行时执行。它生成已执行的 crontab 的历史记录,包括花费的时间,并有助于批量处理脚本。

安装

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

运行以下命令之一

php composer.phar require --prefer-dist hossein142001/yii2-my-image-validator "*"

"hossein142001/yii2-my-image-validator": "*"

将其添加到您的 composer.json 文件的 require 部分。

使用方法

扩展安装后,您可以在控制台控制器中使用它作为辅助工具。

请参考以下示例

<?php
namespace somenamespace\controllers;

use hossein142001\MyImageValidator\models\MyImageValidator;
use somenamespace\SomeModel;
use yii\console\Controller;

/**
 * SomeContrController controller
 */
class SomeContrController extends Controller {
 
    /**
     * @SWG\Post(
     *     path="/v1/files/upload",
     *     tags={"files"},
     *     summary="Create",
     *     description="create *query* *formData*  post",
     *     produces={"application/json"},
     *     @SWG\Parameter(
     *       in = "formData",
     *       name = "files",
     *       description = "rollcalls",
     *       required = true,
     *       type = "file",
     *     ),
     *     @SWG\Response(
     *         response = 200,
     *         description = " success"
     *     ),
     *     @SWG\Response(
     *         response = 401,
     *         description = "Error in Create",
     *         @SWG\Schema(ref="#/definitions/Error")
     *     )
     * )
     *
     */
    public function actionUpload()
    {
        $model = new File();

        $model = DynamicModel::validateData(['files'], [
            [['files'], MyImageValidator::className(), 'skipOnEmpty' => false, 'maxFiles' => 10,'ratio'=>3/4,'resolution' => 700, 'maxWidth' => 250,'minHeight' => 250, 'maxHeight' => 250, 'extensions' => 'jpg']
        ]);

        if (Yii::$app->request->isPost) {
            $model->files = UploadedFile::getInstancesByName('files');
            if ($model->validate()) {
                $data = [
                    'path' => 'files',
                    'context' => '025',
                    'version' => '1',
                    'metadata' => ['meta' => 1, 'meta2' => 2, 'meta3' => 3],
                ];
                return FlysystemWrapper::upload($model->files, $data);
            }
            return $model;
        }

        return $model;
    }
}