Php 如何在Yii中上载文件。在控制器中,除了文件名,我无法获取文件详细信息
它显示了一个类似未定义变量fullImgSource的错误 有人能帮我吗 鉴于Php 如何在Yii中上载文件。在控制器中,除了文件名,我无法获取文件详细信息,php,yii,Php,Yii,它显示了一个类似未定义变量fullImgSource的错误 有人能帮我吗 鉴于 Yii内置了对文件上传的支持。您不必担心$u文件 请通过 关于如果验证失败,则您的$model很可能未通过验证检查$model->getErrors,以获取有关失败原因的详细信息,因此save方法无法通过,并且$fullImgSource最终未被定义。您应该在save方法之后将代码用大括号括起来,因为下面的代码依赖于它才能成功 $cUploadedFile = CUploadedFile::getInstance($
Yii内置了对文件上传的支持。您不必担心$u文件 请通过
关于如果验证失败,则您的$model很可能未通过验证检查$model->getErrors,以获取有关失败原因的详细信息,因此save方法无法通过,并且$fullImgSource最终未被定义。您应该在save方法之后将代码用大括号括起来,因为下面的代码依赖于它才能成功
$cUploadedFile = CUploadedFile::getInstance($model, 'delete_YN');
if ($cUploadedFile) {
$model->delete_YN = $cUploadedFile;
}
if ($model->save()) {
if ($cUploadedFile) {
// Save file from temp to a specific location
$cUploadedFile->saveAs('upload/' . $model->delete_YN);
}
$this->redirect(array('view','id'=>$model->id));
}
希望这能回答为什么你会犯这样的错误。现在,关于如何实际处理上载,您不必访问$u文件来获取上载。CUploadedFile::getInstance$model,'attribute_name'应该为您解决这个问题
$model = new Candidate;
if(isset($_POST['Candidate']))
{
$model->attributes=$_POST['Candidate'];
$name=@$_FILES["Candidate"]["name"]["delete_YN"];
$model->delete_YN = CUploadedFile::getInstance($model,'delete_YN');
if($model->save())
$fullImgSource = Yii::getPathOfAlias('webroot').'/upload/'.$name;
$model->delete_YN->saveAs($fullImgSource);
$model->delete_YN = $name;
$model->save();
$this->redirect(array('view','id'=>$model->id));
}
$this->render('create',array('model'=>$model,));
$cUploadedFile = CUploadedFile::getInstance($model, 'delete_YN');
if ($cUploadedFile) {
$model->delete_YN = $cUploadedFile;
}
if ($model->save()) {
if ($cUploadedFile) {
// Save file from temp to a specific location
$cUploadedFile->saveAs('upload/' . $model->delete_YN);
}
$this->redirect(array('view','id'=>$model->id));
}