2017-08-26 65 views
0

这里我试图插入多个图像到数据库中,但它们没有被插入。图像正确上传到文件夹,但不知道为什么它没有进入数据库。 这里是我的图片上传功能为什么多次上传没有被插入到数据库中

public function multiple_upload_files($path) 
{ 
    $images = array(); 
    if(!empty($_FILES['files']['name'])){ 
     $filesCount = count($_FILES['files']['name']); 
     for($i = 0; $i < $filesCount; $i++){ 
      $_FILES['file']['name'] = $_FILES['files']['name'][$i]; 
      $_FILES['file']['type'] = $_FILES['files']['type'][$i]; 
      $_FILES['file']['tmp_name'] = $_FILES['files']['tmp_name'][$i]; 
      $_FILES['file']['error'] = $_FILES['files']['error'][$i]; 
      $_FILES['file']['size'] = $_FILES['files']['size'][$i]; 
      $config['upload_path']= './uploads/'.$path.'/'; 
      $config['allowed_types'] = 'gif|jpg|png|jpeg'; 
      $config['max_size']= '2000'; 
      $config['max_width'] = '4000'; 
      $config['max_height'] = '6500'; 
      $config['file_name']='upld-file'.time(); 
      $this->load->library('upload', $config); 
      $this->upload->initialize($config); 
     if ($this->upload->do_upload("file")) { 

      $images[] = $this->upload->data(); 
     } 
     else { 
     redirect('admin/view-product'); 

     } 
    } 
      return $images; 
} 

这里是我的插入代码

$path='products'; 
    if($this->multiple_upload_files($path)) 
    { 
     $img=implode(',',$images); 
     $data = array('product_name' => $this->input->post('product_name'),'image'=>$img); 
     $status = $this->Admin_model->db_insert($table='products',$data); 
     if($status) 
     { 
      $this->session->set_flashdata('message','Product added Successfully'); 
     } 
     else 
     { 
      $this->session->set_flashdata('message','Insertion failed'); 
     } 

的问题是图像上传到上传文件夹,而不是数据库。

+1

[使用CodeIgniter多图片上传]的可能的复制(https://stackoverflow.com/questions/40778683/multiple-image-upload-with-codeigniter) –

回答

2

您正在从方法返回图像数组,但没有收到它。改变你的代码如下

$path='products'; 
$images= $this->multiple_upload_files($path); 
if($images) 
{ 
    $img=implode(',',$images); 
    $data = array('product_name' => $this->input->post('product_name'),'image'=>$img); 
    $status = $this->Admin_model->db_insert($table='products',$data); 
    if($status) 
    { 
     $this->session->set_flashdata('message','Product added Successfully'); 
    } 
    else 
    { 
     $this->session->set_flashdata('message','Insertion failed'); 
    } 
相关问题