1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <?php
- namespace app\models;
- use Yii;
- use yii\base\Model;
- use yii\web\UploadedFile;
- use yii\helpers\FileHelper;
- class UploadImg extends Model
- {
- public $file;
- private $_appendRules;
- public function init ()
- {
- parent::init();
- $extensions = Yii::$app->params['webuploader']['baseConfig']['accept']['extensions'];
- $this->_appendRules = [
- [['file'], 'file', 'extensions' => $extensions],
- ];
- }
-
- public function rules()
- {
- $baseRules = [];
- return array_merge($baseRules, $this->_appendRules);
- }
-
-
- public function upload()
- {
-
- // $relativePath = $successPath = '';
- if ($this->validate()) {
- $relativePath = './uploads/images/';
- $successPath = '/uploads/images/';
- $fileName = time().rand(1,100) . '.' . $this->file->extension;
- if (!is_dir($relativePath)) {
- FileHelper::createDirectory($relativePath);
- }
- $this->file->saveAs($relativePath . $fileName);
- return [
- 'code' => 0,
- 'url' => Yii::$app->params['domain'] . $successPath . $fileName,
- 'attachment' => $successPath . $fileName
- ];
- } else {
- $errors = $this->errors;
- return [
- 'code' => 1,
- 'msg' => current($errors)[0]
- ];
- }
- }
- }
|