【发布时间】:2015-05-24 07:29:26
【问题描述】:
我们如何使用 CMultiFileUpload 小部件和当用户单击提交按钮时上传所有文件的表单?
查看:
<?php
$form = $this->beginWidget(
'CActiveForm',
array(
'id' => 'upload-form',
'enableAjaxValidation' => false,
'htmlOptions' => array('enctype' => 'multipart/form-data'),
)
);
$this->widget('CMultiFileUpload', array(
'name' => 'up_files',
'attribute' => 'files',
'model' => $model,
'accept' => 'jpeg|jpg|gif|png', // useful for verifying files
'duplicate' => 'Duplicate file!', // useful, i think
'denied' => 'Invalid file type', // useful, i think
));
echo CHtml::submitButton('Submit');
$this->endWidget();
?>
型号:
<?php
class Upload extends CFormModel
{
public $file;
//public $file1;
public function rules()
{
return [
['file', 'file', 'types'=>'jpg'],
];
}
}
控制器:
<?php
class UploadController extends Controller
{
function actionIndex()
{
$dir = Yii::getPathOfAlias('application.uploads');
$uploaded = false;
$model=new Upload();
if(isset($_POST['Submit'])) {
//foreach($models as $i=>$model)
//
//$files = CUploadedFile::getInstancesByName('file');
//print_r($model);
print_r($model);
//print_r($files);
/*if($file->validate()){
$file->file->saveAs($dir.'/'.$file->file->getName());*/
}else {
echo 'Error';
}
/*$model->attributes=$_POST['Upload'];
//print_r($files);
$model->file = CUploadedFile::getInstance($model,'file');
//$model->file1 = CUploadedFile::getInstance($model,'file');
//print_r($model->file);
if($model->validate()){
$model->file->saveAs($dir.'/'.$model->file->getName());
}*/
$this->render('index', array(
//'files' => $files,
'model' => $model,
//'uploaded' => $uploaded,
//'dir' => $dir,
));
}
}
我尝试了这段代码,但没有工作。 如何在 yii 中使用表单和小部件?
【问题讨论】:
-
请粘贴您目前尝试过的代码
-
“不工作”是什么意思?
-
当我点击提交按钮时,什么也没发生,就是这样!