sergeykoz / yii2-imageupload
Image upload widget with crop for Yii2
Installs: 12 537
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 1
Open Issues: 0
Type:yii2-extension
Requires
- ext-fileinfo: *
- ext-gd: *
- bower-asset/cropper: *
- bower-asset/dropzone: *
- fortawesome/font-awesome: *
- imagine/imagine: *
- yiisoft/yii2: >=2.0.4
- yiisoft/yii2-bootstrap: *
This package is not auto-updated.
Last update: 2024-04-12 04:57:09 UTC
README
Installation
The preferred way to install this extension is through composer.
Either run
php composer.phar require --prefer-dist sergeykoz/yii2-imageupload
or add
"sergeykoz/yii2-imageupload": "0.3.1",
to the require
section of your composer.json.
Usage
Add upload widget to a form
<?php use ssoft\imageupload\ImageUpload; echo $form = ActiveForm::begin(['id' => 'image-form', 'options' => ['enctype'=>'multipart/form-data']]); // first way echo ImageUpload::widget([ 'model' => $photoModel, 'attribute' => 'photo', 'parametersAttibute' => 'photo_parameters', 'addClass' => 'col-sm-8', 'imageUrl' => Yii::getAlias('@web') . '/files', 'imagePath' => Yii::getAlias('@webroot') . '/files', 'placeholder' => 'Photo', 'size' => ['height' => 300, 'width' => 100], 'aspectRatio' => 0.33, 'disabled' => false ]); // second way echo $form->field($photoModel, 'image')->widget(ImageUpload::className(), [ 'parametersAttibute' => 'image_parameters', 'imageUrl' => Yii::getAlias('@web') . '/files', 'imagePath' => Yii::getAlias('@webroot') . '/files', 'placeholder' => 'Image' ]); echo ActiveForm::end(); ?>
Configure main.php
'controllerMap' => [ 'imageupload' => 'ssoft\imageupload\ImageController', ],
Manage of uploaded images
<?php use ssoft\imageupload\Image; // create instance of the image $image = new Image([ 'imagePath' => Yii::getAlias('@webroot') . '/files', 'imageFile' => $photoModel->photo, 'parameters' => $photoModel->photo_parameters, ]); // save the image with size 100x300 with name Filename100x300.Ext $image->save( Yii::getAlias('@webroot') . '/files', Image::thumbnailName($photoModel->photo, ['height' => 300, 'width' => 100]), ['height' => 300, 'width' => 100] ); // get content of the image png echo $image->show('png', ['height' => 600, 'width' => 600]); ?>