我将图像保存到/ image文件夹和数据库中的图像图像。
但问题是我正在为图像创建唯一的id名称,在数据库中它通过uniqueid函数将图像名称保存为新生成的名称,但在/ image文件夹中,它使用原始名称保存图像。
控制器代码是 -
public function actionCreate()
{
$model=new Add;
//$model->createtime = strtotime('Now');
//$model->createtime=time();
// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);
if(isset($_POST['Add']))
{
$model->attributes=$_POST['Add'];
$model->createtime=date("d m y G:i:s ");
$model->username=Yii::app()->user->name;
$model->image=CUploadedFile::getInstance($model,'image');
if($model->save())
{
if($model->image !== null)
{
$image=CUploadedFile::getInstance($model,'image');
$model->image = uniqid() . '.jpg';
$image->saveAs( Yii::getPathOfAlias('webroot.images') . '/' . '.jpg');
}
$this->redirect(array('view','id'=>$model->addid));
}
}
$this->render('create',array(
'model'=>$model,
));
}
代码中有什么问题?我感到困惑,无法解决问题
提前谢谢你......
答案 0 :(得分:1)
试试这个:
if(isset($_POST['Add']))
{
$model->attributes=$_POST['Add'];
$model->createtime=date("d m y G:i:s ");
$model->username=Yii::app()->user->name;
$model->imageFile=CUploadedFile::getInstance($model,'imageFile');
if ($model->imageFile)
{
$model->image = uniqid() . '.jpg';
if (!$model->imageFile->saveAs(Yii::getPathOfAlias('webroot.images') . '/' . $model->image))
$model->addError('image', 'File saving error');
}
if(!$model->hasErrors() && $model->save())
{
$this->redirect(array('view','id'=>$model->addid));
} else {
// here you can delete saved image if necessary
}
}