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

Codeigniter多个文件上传与输入数组键

东方骏
2023-03-14

我有两个输入字段如下;

<input type="file" name="datainfo[site_logo]" class="custom-file-input" id="site_logo">
<input type="file" name="datainfo[site_fav]" class="custom-file-input" id="site_fav">

我如何上传两个文件与Foreach?我尝试了一些方法,但我无法做到这一点。

谢谢

共有1个答案

秦博达
2023-03-14

好的,如果你坚持用你的参数和输入名保持这样,那么你必须在do_upload()之前重构$_FILES数组:

public function upload()
{
    $count = count($_FILES['datainfo']['name']);
    for ($i=0; $i < $count; $i++)
    {
        foreach ($_FILES['datainfo'] as $key1 => $value1)
        {
            foreach ($value1 as $key2 => $value2)
            {
                $files[$key2][$key1] = $value2;
            }
        }
    }
    $_FILES = $files;
    $config['upload_path'] = FCPATH.'uploads/';
    $config['allowed_types'] = 'gif|jpg|jpeg|png';
    $config['max_size'] = '2048';
    $config['max_width'] = '1920';
    $config['max_height'] = '1280';
    $this->load->library('upload', $config);
    foreach ($_FILES as $fieldname => $fileObject)
    {
        if (!empty($fileObject['name']))
        {
            $this->upload->initialize($config);
            if (!$this->upload->do_upload($fieldname))
            {
                $errors = $this->upload->display_errors();
            }
            else
            {
                 $success = 'Success';
            }
        }
    }
}

我已经用您的输入在我的环境中测试了它,它工作正常。

 类似资料:
  • 我想上传多输入文件。我尝试了下面的代码,但文件没有上传,我无法获得上传目录。 HTML 控制器 我也尝试用下面的代码获取上传的数据,但为什么总是出现错误?

  • 问题内容: 第二次输入后,我无法上传任何图像。我只能上传第一个输入。当添加另一个输入值时,将动态创建输入。下面是代码: 问题答案: 我制作并测试了一些代码示例,以便您可以了解问题所在。您有几处错误。我建议的第一件事实际上是使用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