如何在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个文件,名称将存储到数据库中。
答案 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">