在 codeigniter 中,我的表单包含一些文本和文件(输入类型=文件)字段。某些文字字段为必需。当我用文件填写表单但错过了一个必填字段并提交表单时。所有字段再次重新填充文件字段以外的文本。如何在表单提交失败时获取所选文件。
我试过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="">
我如何使用thos上传文件
答案 0 :(得分:2)
将您的代码修改为:
$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');