从Yii2中上载的图像创建缩略图

从Yii2中上载的图像创建缩略图,yii2,image-uploading,Yii2,Image Uploading,如何从上传的图像创建拇指图像 我在我的控制器中尝试了此功能: <?php namespace backend\controllers; use Yii; use app\models\Employee; use yii\web\Controller; use yii\web\NotFoundHttpException; use yii\filters\AccessControl; use yii\filters\VerbFilter; use yii\web\UploadedFile;

如何从上传的图像创建拇指图像

我在我的控制器中尝试了此功能:

<?php
namespace backend\controllers;

use Yii;
use app\models\Employee;
use yii\web\Controller;
use yii\web\NotFoundHttpException;
use yii\filters\AccessControl;
use yii\filters\VerbFilter;
use yii\web\UploadedFile;
use yii\imagine\Image;

public function actionCreate() {
    $model = new Employee();
    $model->added_date_time = date('Y-m-d H:i:s');
    if ($model->load(Yii::$app->request->post())) {
        $model->file = UploadedFile::getInstance($model,'avatar');

        if (!empty($model->file)) {
            $imageName = Yii::$app->security->generateRandomString();
            $model->file->saveAs('uploads/' . $imageName . '.' . $model->file->extension);
            $model->avatar = $imageName . '.' . $model->file->extension;
            $file = 'uploads/' . $imageName . '.' . $model->file->extension;
            Image::thumbnail($file, 200, 200)->save('uploads/thumb/', ['quality' => 80]);
        }
        if ($model->save()) {
            $this->redirect(\Yii::$app->urlManager->createUrl('employee'));
        }
    } else {
        return $this->render('create', ['model' =>  $model]);
    }
}
设置原始图像和缩略图的正确路径,然后结果:

$imgPath = Yii::$app->basePath . '/uploads/'; // as an example
$imgName = Yii::$app->security->generateRandomString();
$fileExt = '.' . $model->file->extension;

$originFile = $imgPath . $imgName . $fileExt;
$thumbnFile = $imgPath . $imgName . '-thumb' . $fileExt;

// Generate a thumbnail image
Image::thumbnail($originFile, 200, 200)->save($thumbnFile, ['quality' => 80]);

请尝试使用此代码

$file = Yii::$app->basePath.'/uploads/'.$imageName.'.'.$model->file->extension;
$thumbFile = Yii::$app->basePath.'/uploads/thumb/'.$imageName.'.'.$model->file->extension;
Image::thumbnail($file, 200, 200)->save($thumbFile, ['quality' => 80]);

我会尝试一下,然后再给你。你能给我图像类吗?$文件的路径如下C:\xampp\htdocs\advanced\backend/uploads/emp/fHsDVk-EFe4pxP\ZCtEc4Tmet25tv6N2.jp和$thumbfile C:\xampp\htdocs\advanced\backend/uploads/emp/thumb/fHsDVk-efe4pxpx\u ZCtEc4Tmet25tv6N2.jpgy你可以从这里下载imagine extesion。