2017-08-26 17 views
0

複数の画像をデータベースに挿入しようとしていますが、挿入されていません。画像はフォルダに正しくアップロードされていますが、なぜデータベースに入っていないのか分かりません。 はここでここでの問題は、画像がなく、データベースにアップロードされたフォルダにアップロードされている私の挿入コード複数のアップロードがデータベースに挿入されない理由

$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'); 
     } 

である私の画像アップロード機能

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; 
} 

です。

+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'); 
    } 
関連する問題