2012-05-08 4 views
1

이미지를 업로드 할 수 있습니다. 좋아요, 썸네일을 만들 수 있지만 첫 번째 썸네일은 업로드 중입니다. 나는 resize 함수에 대한 에러 코드를 확인했고 그들은 모두 'true'(Success)라고 말한다. 그러나 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->....을 호출하면 중복 된 항목이 무시됩니다. 각 ->resize()

+0

너희 오, 베이비 덕분에 전에

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

많은 : 대신에 이미지 라이브러리를 다시 초기화해야합니다. – user847288