yii2将2张图片上传到不同的数据库字段

时间:2017-02-23 11:44:15

标签: php yii

我已经有一个文件上传页面并且它可以正常工作,但是我需要创建另一个字段来上传另一个图像并且它无法正常工作..

这是我的_form,它有效

<?= $form->field($model, 'file')->fileInput(['onchange'=>'readURL(this)'])->label(false) ?>

我在模型文件中定义了$ file2,并将此行添加到_form

<?= $form->field($model, 'file2')->fileInput(['onchange'=>'readURL(this)'])->label(false) ?>

这是我在shopcontroller文件中的代码的另一部分

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


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

                    if($model->file!='')
                    {

                        $model->ShopLogo  =  time().'.'.$model->file->extension;

                    }

                    if($model->file2!='')
                    {

                        $model->pic=  time().'.'.$model->file2->extension;

                    }

守则的另一部分

                $dir = 'web/shop/'.$model->Id;

                if($model->file!='')
                {
                    if(!file_exists($dir))
                    {
                        mkdir($dir);

                    }

                    $model->file->saveAs($dir."/". $model->ShopLogo);
                } 

                if($model->file2!='')
                {
                    if(!file_exists($dir))
                    {
                        mkdir($dir);

                    }

                    $model->file2->saveAs($dir."/". $model->pic);

                 }

我该怎么做才能解决它?

1 个答案:

答案 0 :(得分:0)

time()函数返回自Unix Epoch(1970年1月1日00:00:00 GMT)以来的秒数测量的当前时间。

如果两个文件具有相同的分机和

之间的时间差异
while (*variable2 !=0){
    i = *variable2;
    *variable2 = *variable1 % *variable2;
    *variable1 = i;
}

$model->ShopLogo  =  time().'.'.$model->file->extension;

不到一秒,

$model->pic=  time().'.'.$model->file2->extension; 

并且您将两个文件写入相同的文件名