Problem with upload and save in database

Hi guys, I’m face a problem when I try do an upload and save in DB. The upload works fine but save in DB not.

I think it’s occur coz I put a "hash concatened with image name.

I followed the doc, but the full process do not work. I don’t know where is my mistake.

Follow my codes.


public function upload()


        if ($this->validate()) {


            $this->url_imagem->saveAs('uploads/img/banners/' . $this->url_imagem->baseName . '-' . date('YmdHis') . '.' . $this->url_imagem->extension);

            return true;

        } else {

            return false;




public function actionCreate()


        $model = new Banners();

        if ($model->load(Yii::$app->request->post())) {

            // && $model->save()

            // return $this->redirect(['view', 'id' => $model->id]);

            $model->url_imagem = UploadedFile::getInstance($model, 'url_imagem');

            //$model->url_imagem = UploadedFile::getInstanceByName('url_imagem');



        } else {

            return $this->render('create', [

                'model' => $model,




in database your storing image or Only file name if your storing file name then remove hash from the file name and rename it . or if you don’t want to do it then store image as it but while storing in data base rename it and save it .

After that when you download that than check the image name

for example : if your image name is #imagename you store in database as imagename, while downloading use strreplace(#imagename, #) and match with database name and download it.

I think it may work. I do same thing when i was downloading or uploading the image . I do not store image in database i only store file path , image name and mime type in data base.

So , i think it will help you.

@Amitesh I want store only file path. My Problem is, I dont’n can save it.

I forgot to paste the error.

1. in /var/www/html/testes/Yii2/yiibrasil-cms/vendor/yiisoft/yii2/helpers/BaseFileHelper.php at line 147

138139140141142143144145146147148149150151152153154155156            if ($checkExtension) {

                return static::getMimeTypeByExtension($file, $magicFile);

            } else {

                throw new InvalidConfigException('The fileinfo PHP extension is not installed.');



        $info = finfo_open(FILEINFO_MIME_TYPE, $magicFile);


        if ($info) {

            $result = finfo_file($info, $file); //The error is here



            if ($result !== false) {

                return $result;




        return $checkExtension ? static::getMimeTypeByExtension($file, $magicFile) : null;


This error is displayed because you don’t have php-devel package installed. Check your php.ini file

TO install the php-devel run the following code in centos

yum --enablerepo=remi,remi-php54 install php-devel or

To install the PHP extensions run pecl install php-devel

Refer :