在yii中更新记录而不删除上传的文件 [英] update a record without removing the uploaded file in yii
本文介绍了在yii中更新记录而不删除上传的文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要更新记录与更改或删除文件名(我的意思是文件),或重新插入文件,所以我怎么能做到这一点?
这里是我的 actionCreate
,我怎么写更新?
public function actionCreate(){
$ model = new Page;
if(isset($ _ POST ['Page'])){
$ model-> attributes = $ _POST ['Page'];
$ model-> filename = CUploadedFile :: getInstance($ model,'filename');
if($ model-> save()){
if($ model-> filename!== null){
$ dest = Yii :: getPathOfAlias('application.uploads );
$ model-> filename-> saveAs($ dest。'/'。$ model-> filename-> name);
$ model-> save();
$ this-> redirect(array('view','id'=> $ model-> id));
$ b $ this-> render('create',array(
'model'=> $ model,
));
$所以请任何人都可以找到解决方案
<如果您不需要在编辑/更新中更改或删除文件名,则忽略文件名(和上传部分),假设文件已经上传,而您不需要希望更改/删除它。 public function actionUpdate($ id){
$ model = $ this-> ; loadModel($ ID);
$ file = $ model->文件名;
if(isset($ _ POST ['Page'])){
$ model-> attributes = $ _POST ['Page'];
$ model-> filename = $ file;
if($ model-> save()){
$ this-> redirect(array('view','id'=> $ model-> id));
$ b $ this-> render('create',array(
'model'=> $ model,
));
}
I need to UPDATE record with out changing or deleting filename(i mean file) , OR reinsert file again so how i can do this?
here is my actionCreate
, How i can write update?
public function actionCreate() {
$model = new Page;
if (isset($_POST['Page'])) {
$model->attributes = $_POST['Page'];
$model->filename = CUploadedFile::getInstance($model, 'filename');
if ($model->save()) {
if ($model->filename !== null) {
$dest = Yii::getPathOfAlias('application.uploads');
$model->filename->saveAs($dest . '/' . $model->filename->name);
$model->save();
}
$this->redirect(array('view', 'id' => $model->id));
}
}
$this->render('create', array(
'model' => $model,
));
}
So Please can anyone find a solution
解决方案 If you don't need to change or delete filename in edit/update then ignore filename (and upload part) assuming the file is alrready uploaded and you don't wish to change/delete it.
public function actionUpdate($id) {
$model = $this->loadModel($id);
$file = $model->filename;
if (isset($_POST['Page'])) {
$model->attributes = $_POST['Page'];
$model->filename = $file;
if ($model->save()) {
$this->redirect(array('view', 'id' => $model->id));
}
}
$this->render('create', array(
'model' => $model,
));
}
这篇关于在yii中更新记录而不删除上传的文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文