1. Go to this page and download the library: Download wise5lin/yii2-croppic library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
public function behaviors()
{
return [
'verbs' => [
'class' => VerbFilter::className(),
'actions' => [
'upload' => ['post'],
'crop' => ['post'],
],
],
];
}
public function actions()
{
return [
/**
* Загрузка изображения
*/
'upload' => [
'class' => 'wise5lin\croppic\actions\UploadAction',
// Абсолютный путь к папке в которую будет сохранено изображение (временно).
'tempPath' => '@frontend/web/img/temp',
// URL адрес к папке в которую будет сохранено изображение (временно).
'tempUrl' => 'img/temp/',
// Правила проверки изображения.
'validatorOptions' => [
'checkExtensionByMimeType' => true,
'extensions' => 'jpeg, jpg, png',
'maxSize' => 3000000,
'tooBig' => 'Выбранное вами изображение слишком большое (макс. 3мб)',
],
],
/**
* Обрезка изображения
*/
'crop' => [
'class' => 'wise5lin\croppic\actions\CropAction',
// Абсолютный путь к папке в которую будет сохранено изображение.
'path' => '@frontend/web/img/user/avatar',
// URL адрес к папке в которую будет сохранено изображение.
'url' => 'img/user/avatar/',
],
];
}
public function beforeAction($action)
{
if ($action->id === 'upload' || $action->id === 'crop') {
if ($action->hasProperty('model')) {
$action->model = $this->findModel(Yii::$app->request->get('id'));
}
}
if (!parent::beforeAction($action)) {
return false;
}
return true;
}