在编码器中重新填充输入类型文件


Re-populate input type file in codeigniter

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');