不使用数组

时间:2015-08-26 05:18:09

标签: php arrays codeigniter file-upload

我使用了codeigniter文件上传,单个和多个。但如果文件名不在数组中,如何上传文件。例如: - 如果form1具有file1,file2和file3文件输入,并且用户仅提供file1和file3。那么如何识别是否没有给出file2。如果我使用数组格式,则无法找到哪个特定字段,哪个不是。

我已经尝试过基于数组的上传,但是,任何丢失的文件都会给我一个错误的索引数组。我需要有一个合适的$_POST,其中明确给出了非选定的表格成员。

1 个答案:

答案 0 :(得分:0)

它只会发布有价值的$_FILES

<强> HTML

<input type="file" name="mass_consume_upload[]" />
<input type="file" name="mass_consume_upload[]" />
<input type="file" name="mass_consume_upload[]" />

PHP(Codeigniter)

        $this->load->library('upload');

        $tempfiles = $_FILES;
        //print_r($tempfiles);
        foreach ($tempfiles as $files) {
            $_FILES['mass_consume_upload'] = $files;

            $this->upload->initialize(array(
                'upload_path' => $path,
                'allowed_types' => 'pdf',
                'overwrite' => FALSE
            ));
            if (!$this->upload->do_upload('mass_consume_upload')) {
                $uploadArr['error'][] = array(
                    'filename' => $_FILES['mass_consume_upload']['name'],
                    'msg' => $this->upload->display_errors('', '')
                );
            } else {
                $uploadArr['success'][] = array('filename' => $_FILES['mass_consume_upload']['name']);
            }
        }