2012-05-08 61 views
1

我能夠上傳我的圖像確定,我可以創建縮略圖,但只有第一個縮略圖正在上傳。我檢查了調整大小函數的錯誤代碼,他們都說'真'(成功)。但是,如果我上傳4個文件,則只會將第一個文件上傳到縮略圖文件夾。這裏是我的代碼:Codeigniter多文件上傳和縮略圖創建:只有一個縮略圖正在上傳

function _upload_them_images($_FILES, $last_insert_id) 
{ 
    $error = ''; 
    // for($i=0; $i<count($_FILES); $i++) 
    for($i=0; $i<count($_FILES['imagefile']['name']); $i++) 
    { 

     $_FILES['userfile']['name']   = $_FILES['imagefile']['name'][$i]; 
     $_FILES['userfile']['type']   = $_FILES['imagefile']['type'][$i]; 
     $_FILES['userfile']['tmp_name']  = $_FILES['imagefile']['tmp_name'][$i]; 
     $_FILES['userfile']['error'] = $_FILES['imagefile']['error'][$i]; 
     $_FILES['userfile']['size']  = $_FILES['imagefile']['size'][$i]; 

     $config['file_name']  = $last_insert_id.'_'.time().rand(1000,9999).$i; 
     $config['upload_path'] = './images/vehicles/'; 
     $config['allowed_types'] = 'jpg|jpeg|gif|png'; 
     $config['max_size']  = '1000'; 
     $config['overwrite']  = FALSE; 

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

     if($this->upload->do_upload()) 
     { 
      $upload_result = $this->upload->data();    
      $rc = $this->_image_name_into_database(
       $last_insert_id, 
       $upload_result['file_name']);    
      $image_config = array(
       'source_image'  =>$upload_result['full_path'], 
       'new_image'    => './images/vehicles/thumbs/', 
       'create_thumb'  => TRUE, 
       'maintain_ratio' => TRUE, 
       'width'      => 75, 
       'height'     => 50 
      ); 

      $this->load->library('image_lib', $image_config); 
      $resize_rc = $this->image_lib->resize();    
      $error += 0;    
     } 
     else 
     {  
      //if the image was not uploaded successfully, try resizing 
      $error += 1; 
     } 
    } 
    if($error > 0) 
    { 
     return FALSE; 
    } 
    else 
    { 
     return TRUE; 
    }  
} 

回答

2

您的圖像庫參數沒有在循環中更新。當您撥打$this->load->....時,重複的項目將被忽略。而應該以重新初始化圖像庫:

$this->image_lib->clear(); 
$this->image_lib->initialize($image_config); 

每個->resize()

+0

哦,你們的寶寶由於之前很多。 – user847288