如何在codeigniter中插入带有多个输入的多个文件上传加密文件名?

时间:2016-10-19 03:54:16

标签: php codeigniter file-upload codeigniter-3

如何在codeigniter中插入带有多个输入的多个文件上传加密文件名?

我的视图中有多个输入文件,如下所示:

<input name="picture_1" class="form-control" style="padding-top: 0;" type="file">
<input name="picture_2" class="form-control" style="padding-top: 0;" type="file">
<input name="picture_3" class="form-control" style="padding-top: 0;" type="file">
<input name="picture_4" class="form-control" style="padding-top: 0;" type="file">
<input name="picture_5" class="form-control" style="padding-top: 0;" type="file">

如何在文件上传时加密文件名,文件将根据我输入的文件数上传。

例如:

如果我输入3个文件图片,文件数据将在目录中上传3个文件,名称将存储到数据库中。

2 个答案:

答案 0 :(得分:0)

将此代码放入您的控制器:

$config['upload_path']      = './assets/img/packet/';
$config['allowed_types']    = 'jpg|png|gif|jpeg';
$config['max_size']         = 125000; // 1 GB
$config['encrypt_name']     = TRUE;
$this->load->library('upload', $config);
$this->upload->initialize($config);

for ($img=0;$img<=5;$img++)
{
   if (!empty($_FILES['picture_'.$img]))
   {
       if ($this->upload->do_upload('picture_'.$img))
       {
           $uploaded = $this->upload->data();
           $data_picture = array('filename'  => $uploaded['file_name']);
           $this->db->insert('db_picture', $data_picture);
       }
   }
}

答案 1 :(得分:0)

您的HTML应该是这样的

m1 = matrix(1:5, 5, 5)
m2 = matrix(5:1, 5, 5)
m_list = list(m1, m2)

将此代码放入您的控制器

<input name="item_image[]" class="form-control" style="padding-top: 0;" type="file">
<input name="item_image[]" class="form-control" style="padding-top: 0;" type="file">
<input name="item_image[]" class="form-control" style="padding-top: 0;" type="file">
<input name="item_image[]" class="form-control" style="padding-top: 0;" type="file">
<input name="item_image[]" class="form-control" style="padding-top: 0;" type="file">