YII文件上传
首先,视图
<?php //表单
$form=$this->beginWidget('CActiveForm', array(
'id'=>'product-form',
'htmlOptions'=>array('enctype'=>'multipart/form-data'),//关键是这一行 'enableAjaxValidation'=>false,)); ?>
<tr>
<td width="159"> <?php echo $form->labelEx($model,'picname');?>:</td>
<td width='901'><?php echo $form->fileField($model,'picname');?>
<?php echo $form->error($model,'picname'); ?></td>
</tr>
public function actionadd(){
$model = new Archive();
if($_POST['Archive']){
$model->attributes = $_POST['Archive'];
//文件上传
$file=CUploadedFile::getInstance($model,'picname'); //获取表单名为filename的上传信息
$filename=$file->getName();//获取文件名
$filesize=$file->getSize();//获取文件大小
$filetype=$file->getType();//获取文件类型
$model->picname=$filename;//数据库中要存放文件名
$uploadfile='./assets/upload/'.$filename;
$file->saveAs($uploadfile,true);//上传操作
if($model->save()){
Yii::app()->user->setFlash('success','添加文档成功');
$this->redirect(array('index'));
}
}
$this->renderPartial('add',array('model'=>$model,'type'=>$type));
}