我的型号代码:
public $image;
return array(
array('filename', 'required'),
array('image', 'file', 'types'=>''),
array('filename', 'length', 'max'=>11),
array('id, filename', 'safe', 'on'=>'search'),
);
我的观看代码:
<?php echo CHtml::activeFileField($model, 'image'); ?>
我的控制器代码:
$model = new TblUpload;
$model->attributes=$_POST['TblUpload'];
$img = CUploadedFile::getInstance($model,'image');
if($img->saveAs(Yii::app()->basePath.'/../images/'.$img))
{
$model->filename = $img;
$model->save(false);
}
}
$this->render('uploadfile',array('model'=>$model));
}
使用此代码的朋友,我可以上传所有类型的文件,如图像和文档,但我无法上传视频....我已经更改了我的php.ini文件max_upload_size ...
答案 0 :(得分:0)
在表单视图中,您是否设置了表单的enctype?
$form = $this->beginWidget(
'CActiveForm', array(
'id' => 'my-form',
'htmlOptions' => array(
'enctype' => 'multipart/form-data'
),
)
);
也可能是您尝试上传到的文件夹的路径不存在或不正确。尝试使用getcwd(),例如:
$model->my_image->saveAs(getcwd()."/uploads/myfile.jpg");
这很可能就是问题,您上面代码中的路径是:
if($img->saveAs(Yii::app()->basePath.'/../images/'.$img))
基本路径后面跟着../可能是错误的,除非你试图在root之前的目录中上传?
答案 1 :(得分:0)
最后我整理了如何上传图片...... 这是我的控制器代码.....
public function actionUploadfile()
{
$model = new TblUpload;
if(isset($_POST['TblUpload']))
{
$model->image=CUploadedFile::getInstance($model,'image');
if($model->save())
{
$model->image->saveAs('/wamp/www/fileupload/images/'.$fileName);
}*/
$model->attributes=$_POST['TblUpload'];
$img = CUploadedFile::getInstance($model,'image');
if($img->saveAs(Yii::app()->basePath.'/../images/'.$img))
{
$model->filename = $img;
$model->save(false);
}
}
$this->render('uploadfile',array('model'=>$model));
}
这是我误解的地方......但现在我使用uploadify扩展程序上传各种文件并对其进行编辑,以便一次用于多次上传
答案 2 :(得分:0)
检查以下链接以上传多个文件