【问题标题】:Multiple form upload: get each file name separately in codeigniter多表单上传:在codeigniter中分别获取每个文件名
【发布时间】:2015-03-08 11:49:02
【问题描述】:

我想上传一些文件。我使用codeigniter:

Html:

<input type="file" name="file1" />
<input type="file" name="file2" />

php:

$config['upload_path'] = './upload/';
$path = $config['upload_path'];
$config['allowed_types'] = 'gif|jpg|jpeg|png';
$config['encrypt_name'] = 'TRUE';
$this->load->library('upload', $config);

foreach ($_FILES as $key => $value) {
        if (!empty($value['tmp_name']) && $value['size'] > 0) {
            if (!$this->upload->do_upload($key)) {
               // some errors
            } else {
                // Code After Files Upload Success GOES HERE
                $data_name = $this->upload->data();
                echo $data_name['file_name'];
            }
        }
    }

当我想echo 文件名时,我得到1.jpg2.jpg。但我想将它们分开并将它们插入数据库。

我该怎么做?谢谢你:)

【问题讨论】:

  • 请把输出贴在这里。

标签: php codeigniter file-upload multiple-file-upload


【解决方案1】:

$data_name['file_name'] 中的值添加到数组中,然后在 foreach 循环之后执行 insert_batch。

类似:

$filename_arr = array();
foreach ($_FILES as $key => $value) {
        if (!empty($value['tmp_name']) && $value['size'] > 0) {
            if (!$this->upload->do_upload($key)) {
               // some errors
            } else {
                // Code After Files Upload Success GOES HERE
                $data_name = $this->upload->data();
                $filename_arr[] = $data_name['file_name'];
            }
        }
    }

$this->db->insert_batch('mytable', $filename_arr); 

【讨论】:

  • 我想将它们插入一个字符串并用,分隔它们我该怎么做?谢谢:)
  • 在 $filename_arr - 数组上使用 implode() - 比如 $x = implode(',', $filename_arr);
  • 没问题很高兴为您提供帮助!
猜你喜欢
  • 2013-02-10
  • 2017-01-12
  • 2020-08-17
  • 1970-01-01
  • 2020-02-01
  • 2020-04-09
  • 2013-04-01
  • 2012-01-12
  • 2013-12-05
相关资源
最近更新 更多