在codeigniter我有一个表单,其中包含一些文本和文件(input type=file)字段。有些文本字段是必需的。当我用文件填写表单时,但是错过了一个必需的字段并提交表单。除了文件字段,所有字段再次重新填充文本。当表单提交失败时,我如何获得选中的文件?
我试过set_value()
,但似乎不起作用。
还有一件事我可以一次上传多个文件:
$data = array ( 'name'=>'data_sheet[]',
'id'=>'data_sheet',
'class'=>'form-control',
'value'=>set_value('data_sheet', $data_sheet),
'onchange'=>'validateFileInput(this)',
);
echo form_upload($data,'','multiple');
下面是验证:
$this->form_validation->set_rules('name','name' ,'trim|required');
$this->form_validation->set_rules('data_sheet','data sheet','trim');
if ($this->form_validation->run() == false)
{
$this->template->write_view('content', 'user/user_form',$data,TRUE);
}
当我设置set_value像
set_value=json_encode($_FILES)
<input type="file" name="data_sheet[]" value="{"data_sheet":{"name":["download.jpg"],"type":["image'/jpeg"],"tmp_name":["'/tmp'/phpTxQzNe"],"error":[0],"size":[4792]}}" id="data_sheet" class="form-control" onchange="validateFileInput(this)" multiple="">
如何上传文件
像这样修改代码:
$data = array ( 'name'=>'data_sheet[]',
'id'=>'data_sheet',
'class'=>'form-control',
'value'=>$_FILES['data_sheet[]']['tmp_name'],
'onchange'=>'validateFileInput(this)',
);
echo form_upload($data,'','multiple');