2017-08-26 4 views
0

Hier versuche ich, mehrere Bilder in die Datenbank einzufügen, sie werden jedoch nicht eingefügt. Die Bilder werden korrekt in den Ordner hochgeladen, wissen aber nicht, warum sie nicht in die Datenbank aufgenommen werden. Hier ist mein Bild-Upload-FunktionWarum wird das mehrfache Hochladen nicht in die Datenbank eingefügt?

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

Hier mein Einfügen Code ist

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

Das Problem ist, die Bilder auf dem hochgeladenen Ordner hochgeladen werden, aber nicht in der Datenbank.

+1

Mögliche Duplikat von [Mehrere Hochladen von Bildern mit CodeIgniter] (https://stackoverflow.com/questions/40778683/multiple-image-upload-with-codeigniter) –

Antwort

2

Sie geben ein Array von Bildern aus der Methode zurück, erhalten diese jedoch nicht. ändern Sie Code wie unten

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