当前位置: 首页 > 知识库问答 >
问题:

CodeIgniter从多个输入上传文件

田翔
2023-03-14

我想上传多输入文件。我尝试了下面的代码,但文件没有上传,我无法获得上传目录。

HTML

<input type="file" name="userfile[]" size="20" />

控制器

public function detailTugasInput($idKelas,$id){
    $this->load->model('tugass');
    $records = $_FILES['userfile'];
    //var_dump($records); die();
    $config['upload_path']          = './file/';
    $config['allowed_types']        = 'pdf|doc|txt|jpg|png';
    $config['max_size']             = 0;
    $config['max_width']            = 1024;
    $config['max_height']           = 768;

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

    foreach ($_FILES as $key => $value) {
        $upload_data = $this->upload->data();
        $file_ary = array(
        'nama_kembali' => $value['name'],
        'file_kembali' => $value['tmp_name']
        );
    }
}

我也尝试用下面的代码获取上传的数据,但为什么总是出现错误?

$checked_arr = $_POST['userfile'];

共有1个答案

饶曦之
2023-03-14

尝试以下代码

超文本标记语言

<input type="file" class="form-control" name="userfile[]" multiple />

控制器

public function detailTugasInput($idKelas, $id){

    $this->load->model('tugass');

    if(!empty($_FILES['userfile']['name'])) {

        $filesCount = count($_FILES['userfile']['name']);

        for($i = 0; $i < $filesCount; $i++) {

            $_FILES['userFile']['name'] = $_FILES['userfile']['name'][$i];
            $_FILES['userFile']['type'] = $_FILES['userfile']['type'][$i];
            $_FILES['userFile']['tmp_name'] = $_FILES['userfile']['tmp_name'][$i];
            $_FILES['userFile']['error'] = $_FILES['userfile']['error'][$i];
            $_FILES['userFile']['size'] = $_FILES['userfile']['size'][$i];

            $config['upload_path'] = './file/';
            $config['allowed_types'] = 'pdf|doc|txt|jpg|png';

            $this->load->library('upload', $config);
            $this->upload->initialize($config);

            $this->upload->do_upload('userFile');
            if($this->upload->do_upload('userFile')){
                $fileData = $this->upload->data();
                $uploadData[$i]['file_name'] = $fileData['file_name'];
                $uploadData[$i]['created'] = date("Y-m-d H:i:s");
                $uploadData[$i]['modified'] = date("Y-m-d H:i:s");
            }

        }
    }
}

要获得更多支持,请检查此项

 类似资料:
  • 我有两个输入字段如下; 我如何上传两个文件与Foreach?我尝试了一些方法,但我无法做到这一点。 谢谢

  • 问题内容: 第二次输入后,我无法上传任何图像。我只能上传第一个输入。当添加另一个输入值时,将动态创建输入。下面是代码: 问题答案: 我制作并测试了一些代码示例,以便您可以了解问题所在。您有几处错误。我建议的第一件事实际上是使用jQuery。您的代码显然使用的是jQuery,但您可以使用各种可以简化的原始JS: 请注意,我在ajax URL中进行了硬编码。我用于测试的控制器名为Multi_uploa

  • 问题内容: 我想使用单个元素上传多个文件。所以我尝试这个例子。 使用CodeIgniter2.0上传多个文件(数组) 这是我的表格 这是我的控制器 这是我的文件上传方法 但它给每一次。有什么问题 问题答案: 我根据@Denmark 更改上传方法。

  • 我有一个问题,如何上传2个文件输入1表CI 3与不同的文件名。我的视图代码:有2个文件输入,1个。文件_sertifikat和2。文件_rekomendasi 我的Controller操作保存文件名到数据库: 和我的上传文件功能: 我想一个接一个地上传这两个不同的文件名,但是我的代码覆盖了这个文件。谢谢你。

  • 我已经寻找和努力了三天,让这个工作,但我就是做不到。我想做的是使用多文件输入表单,然后上传它们。我不能只使用固定数量的文件上传。我在StackOverflow上尝试了许多解决方案,但我找不到一个有效的。 这是我的上传控制器 我的上传表格是这样的。 我一直有这样的错误: 您没有选择要上载的文件。 下面是示例的数组: 数组 如果我选择2个文件,我有这样的连续5次。我也使用标准的上传库。

  • 问题内容: 我想上传多个文件,包括Word文档,PDF和图像。我需要为文件使用一个输入,因为我们不知道将上传多少文件。 我的代码是这样,但是我有问题,无法将文件发送到服务器端。 控制器代码: 视图代码的一部分: 我没有保存文件和保存对象的问题。唯一的问题:文件列表为空。 问题答案: 我要上传文件,您的表单需要包含属性。 或更好 并且我强烈建议您将模型传递给视图,并使用强类型方法为模型的属性创建ht