2014-10-01 65 views
0

我想使用codeigniter上傳多個圖像。這裏是場景 enter image description here使用codeigniter多圖像上傳,調整大小和保存數據庫

如何上傳多個圖像並保存圖像位置爲分貝(因爲我想表明我的觀點文件上傳的圖片),上傳之前,我也想重新命名我的圖片,並將其調整到「拇指'的大小。

這裏是我的控制器:

function uploadRoomImage(){ 

    $i = 0; 
    $files = array(); 
    foreach ($_FILES as $key => $value) { 
     if(!empty($value['name'])) 
     { 

      $config['upload_path'] = 'assets/img/upload/rooms/'; 
      $config['allowed_types'] = 'jpg|jpeg'; 
      $config['file_name'] = $filename; 
      $config['max_size'] = '2000'; 
      $config['remove_spaces'] = true; 
      $config['overwrite'] = false; 

      $this->upload->initialize($config); 

      if (!$this->upload->do_upload($key)) 
      { 
       $error = array('error' => $this->upload->display_errors()); 
      } 
      else 
      { 
       $files[$i] = $this->upload->data(); 
       $i++; 

       //load image library 
       $this->load->library('image_lib'); 

       $config['image_library'] = 'gd2'; 
       $config['source_image'] = $image_data['full_path']; 
       $config['new_image'] = $image_data['file_path'].'room_thumb/'; 
       $config['maintain_ratio'] = FALSE; 
       $config['create_thumb'] = TRUE; 
       $config['thumb_marker'] = '_thumb'; 
       // $config['overwrite'] = false; 
       $config['width'] = 280; 
       $config['height'] = 280; 

       //initialize upload library using the config settings defined above. 
       $this->image_lib->initialize($config); 

       if (!$this->image_lib->resize()) { 
        $error = array('error' => $this->image_lib->display_errors()); 
       } else { 
        $this->image_lib->resize(); 
       } 
       //i want send each image file location into db in here after resizing each image 
      } 
     }   
    }  

我可以上傳多個圖像,但我上無法發送其位置到我的數據庫,我也cannt調整它們的大小。 PLZ幫助

+0

首先獲取用戶存儲在臨時文件夾中的所有文件。然後逐個您可以調整它們的大小並將它們移動到您想要的文件夾位置。移動完成後,您可以將移動文件夾的路徑保存到數據庫中。 – justrohu 2014-10-01 09:43:45

+0

@justrohu我編輯了我的代碼,請給我看,現在我可以上傳多個圖像,但我不能將他們的位置發送到我的分貝,我也不能調整他們的大小。 – 2014-10-01 09:47:30

回答

0

它看起來像你的$config['source_image'] = $image_data['full_path'];錯過附加到完整路徑的文件名。您還應該包括$config['new_image']

如果你想上傳數據到你的數據庫,你可能需要create a model來處理這個操作。

相關問題